使用iswitchb忽略某些缓冲区

时间:2010-04-21 05:28:02

标签: emacs iswitchb-mode

GNU Emacs 23.1

我正在使用iswitchb。但是,当我按 C-x b 时,我会得到一个缓冲区列表。但是,我不想显示一个像scratch,Messages,GNU Emacs等。只是我自己打开的缓冲区。

所以我正在寻找一种忽略这些缓冲区的方法。这就是我的配置。但是,它不会忽略我不想要的缓冲区。我做错了什么?

;; Setup iswitchb to select different buffers, ignore buffers to reduce list
(iswitchb-mode 1)
(setq iswitchb-buffer-ignore '("*scratch*"))
(setq iswitchb-buffer-ignore '("*Messages*"))
(setq iswitchb-buffer-ignore '("*GNU Emacs*"))
(setq iswitchb-buffer-ignore '("*compilation*"))

非常感谢任何建议,

2 个答案:

答案 0 :(得分:7)

iswitch-buffer-ignore应该设置为要忽略的缓冲区列表,但是您要在每一步设置一个缓冲区的新列表。我应该将代码更改为类似的内容或立即传递所有缓冲区。

(add-to-list 'iswitchb-buffer-ignore "^ ")
(add-to-list 'iswitchb-buffer-ignore "*Messages*")
(add-to-list 'iswitchb-buffer-ignore "*ECB")
(add-to-list 'iswitchb-buffer-ignore "*Buffer")
(add-to-list 'iswitchb-buffer-ignore "*Completions")
(add-to-list 'iswitchb-buffer-ignore "*ftp ")
(add-to-list 'iswitchb-buffer-ignore "*bsh")
(add-to-list 'iswitchb-buffer-ignore "*jde-log")
(add-to-list 'iswitchb-buffer-ignore "^[tT][aA][gG][sS]$")

可替换地:

(setq iswitchb-buffer-ignore '("*scratch*" "*Messages*" ...))

答案 1 :(得分:1)

您没有附加到忽略缓冲区列表,而是覆盖它。您需要函数add-to-list

(add-to-list 'iswitchb-buffer-ignore "ignored buffer")

对每个要忽略的项目重复此操作。