Iswitchb忽略了dired缓冲区

时间:2012-09-13 12:55:43

标签: emacs iswitchb-mode

有没有办法告诉iswitchb根据模式而不是字符串忽略缓冲区?我想排除在dired模式下打开的缓冲区,这些缓冲区通常是最多的,并且很难在迷你缓冲区中找到打开的文件。任何有关这方面的帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以向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-mode缓冲区添加了过滤器。

答案 1 :(得分:0)

基于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)