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)
Другие вопросы по тегам