2010-04-21 76 views
0

GNU Emacs 23.1使用iswitchb忽略某些缓冲区

我正在使用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*")) 

非常感谢您的任何建议,

回答

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

您没有附加到忽略缓冲区的名单,而是覆盖它。你想要的功能add-to-list

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

重复,对于每一个项目,你要忽略。