我广泛使用缓冲区菜单在缓冲区之间切换。我想列出文件或dired的缓冲区。我怎么能这样做?
答案 0 :(得分:6)
您可以使用ibuffer
您可以在那里定义缓冲区组。您可以标记缓冲区,使用过滤和排序,在标记的缓冲区中搜索/替换以及其他有用的东西。
对于你的情况,只需放入钩子(ibuffer-filter-by-filename ".")
这是我的.emacs的一个例子。
(require 'ibuffer)
(setq ibuffer-saved-filter-groups
(quote (("default"
("dired" (mode . dired-mode))
("java" (mode . java-mode))
("org" (mode . org-mode))
("sql" (mode . sql-mode))
("xml" (mode . nxml-mode))))))
(setq ibuffer-show-empty-filter-groups nil)
(add-hook 'ibuffer-mode-hook
(lambda ()
(ibuffer-switch-to-saved-filter-groups "default")
(ibuffer-filter-by-filename "."))) ;; to show only dired and files buffers
EDIT。如果要过滤掉临时缓冲区(名称以*开头),可以设置以下过滤器(正则表达式)
(ibuffer-filter-by-name "^[^*]")
它表示缓冲区名称应以除*。
之外的任何字符开头答案 1 :(得分:2)
Buffer Menu+有你想要的。它将Dired缓冲区视为文件缓冲区,因此当您使用 C-u C-x C-b (list-buffers
或buffer-menu
)时,您只能获得Dired和文件缓冲区。
答案 2 :(得分:0)
使用前缀参数(buffer-menu
)调用C-u M-x buffer-menu
将仅列出正在访问文件的缓冲区。不幸的是,我看不到在该列表中包含dired的简单方法。