Игнорировать определенные буферы, используя 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")

Повторите это для каждого элемента, который вы хотите игнорировать.

Другие вопросы по тегам