Игнорировать определенные буферы, используя iswitchb
GNU Emacs 23.1
Я использую iswitchb. Однако, когда я нажимаю Cx b, я получаю список буферов. Тем не менее, я не хочу отображать такие, как блокнот, сообщения, 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 ответа
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*" ...))
Вы не добавляете в список игнорируемых буферов, а перезаписываете его. Вы хотите функцию add-to-list
:
(add-to-list 'iswitchb-buffer-ignore "ignored buffer")
Повторите это для каждого элемента, который вы хотите игнорировать.