2010-04-21 116 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") 

重複,對於每一個項目,你要忽略。