ido-switch-buffer和bury-buffer

时间:2009-02-25 21:40:57

标签: emacs buffer elisp

我最近开始使用ido-mode,总的来说,它很不错。但有一点似乎特别破碎了,我想知道是否有一个设置(ha)埋在那里来解决它。

ido-switch-buffer似乎并不关心埋藏的缓冲区。也就是说,如果我使用bury-buffer,然后是ido-switch-buffer,那么第一个选择通常是我刚刚埋葬的那个。

有一个简单的方法吗?掩埋缓冲区的重点是我不想很快再看到它。

5 个答案:

答案 0 :(得分:2)

根据文件(C-h f bury-buffer

Put BUFFER-OR-NAME at the end of the list of all buffers.
There it is the least likely candidate for 'other-buffer' to return;
thus, the least likely buffer for C-x b to select by
default.

因此,如果你使用bury-buffer,缓冲区仍然可用(在列表的末尾),所以ido-switch-buffer找到它是正常的。

如果你不想看到那个缓冲区,你应该考虑关闭它。

答案 1 :(得分:0)

使用next-bufferprevious-buffer

答案 2 :(得分:0)

我无法重现这一点。在Emacs 23上,据我所知,ido-switch-buffer以正确的顺序列出缓冲区。

在任何情况下,您都可以尝试使用iswitchb。它有点像偶像,只是更老,更具体的缓冲切换。如果您喜欢它,可以使用iswitchb进行缓冲区切换,使用ido进行其他操作。

答案 3 :(得分:0)

无法重现这一点:当我埋葬缓冲区并随后调用ido-switch-buffer时,隐藏缓冲区不在交换机列表的前面。

我已经完成了相当多的ido定制(为了让它与dired一起运行良好等),但我的主要ido设置是:

(setq ido-show-dot-for-dired t)
(setq ido-default-file-method 'samewindow)
(setq ido-default-buffer-method 'samewindow)
(setq ido-confirm-unique-completion t)
(setq ido-max-dir-file-cache 20)

我的ido.el版本是“ 1.57在gnu.emacs.sources上发布,适用于emacs 22.1 ”。

第h

答案 4 :(得分:0)

FWIW,Emacs-24中switch-to-buffer(Cx b)的默认完成行为已更改为使用子串匹配完成,因此其行为类似于IDO,同时遵循“默认缓冲区不应该”的原则不是我刚埋葬的那个人。您可以通过启用icomplete-mode(它不会更改完成行为本身,但在迷你缓冲区末尾显示完成候选项)使其更加相似。