Iswitchb игнорирует Dired буфер
Есть ли способ сказать iswitchb игнорировать буферы в зависимости от режима, а не строки? Я хотел бы исключить буферы, открытые в режиме dired, которые часто бывают самыми многочисленными, и среди них трудно найти открытые файлы в минибуфере. Любая помощь в этом будет оценена.
2 ответа
Решение
Вы можете добавить пользовательскую функцию в iswitchb-buffer-ignore, чтобы сделать это. На самом деле в iswitchb.el есть пример - на основании этого, это поможет:
(defun iswitchb-ignore-dired-mode (name)
"Ignore all dired mode buffers."
(with-current-buffer name
(derived-mode-p 'dired-mode)))
(setq iswitchb-buffer-ignore '("^ " iswitchb-ignore-dired-mode))
Это сохраняет поведение по умолчанию игнорирования имен буферов, которые начинаются с пробела, и добавляет фильтр для буферов в режиме Dired.
На основе аналогичного примера в исходном коде iswitchb:
(defun iswitchb-ignore-dired-buffers (buffer)
(with-current-buffer buffer
(eq major-mode 'dired-mode)))
(add-to-list 'iswitchb-buffer-ignore 'iswitchb-ignore-dired-buffers)