Emacs缓冲区菜单:如何仅显示文件+;牵引缓冲器?

Emacs缓冲区菜单:如何仅显示文件+;牵引缓冲器?,emacs,Emacs,我广泛使用缓冲区菜单在缓冲区之间切换。我想列出文件或驱动器的缓冲区。我该怎么做呢?你可以使用 您可以在那里定义缓冲区组。您可以标记缓冲区,使用筛选和排序,在标记的缓冲区和其他有用的内容中进行搜索/替换 对于您的案例,只需将其放入钩子(ibuffer按文件名筛选)。 下面是my.emacs中的一个示例 (require 'ibuffer) (setq ibuffer-saved-filter-groups (quote (("default" ("dir

我广泛使用缓冲区菜单在缓冲区之间切换。我想列出文件或驱动器的缓冲区。我该怎么做呢?

你可以使用

您可以在那里定义缓冲区组。您可以标记缓冲区,使用筛选和排序,在标记的缓冲区和其他有用的内容中进行搜索/替换

对于您的案例,只需将其放入钩子
(ibuffer按文件名筛选)。

下面是my.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
编辑。如果要筛选出临时缓冲区(名称以*开头),可以设置以下筛选器(regex)


它表示缓冲区名称应以任何字符开头,除了*

调用带有前缀参数的
缓冲区菜单(
C-u M-x buffer menu
)将仅列出正在访问文件的缓冲区。不幸的是,我找不到一个简单的方法将dired包含在列表中。

有你想要的。它将Dired缓冲区视为文件缓冲区,因此当您使用C-u C-x C-b(无论是
列出缓冲区
还是
缓冲区菜单
)时,您只会得到Dired缓冲区和文件缓冲区。

我喜欢这个。但是,
(ibuffer按文件名筛选)。
也在筛选出dired缓冲区。在ibuffer窗口中,您可以看到三列。我设置了一个过滤器,使该列的值不应为空(这是dired缓冲区和文件的情况)。在dired缓冲区的Filename/process列中,您的案例显示了什么?我看到了4列:“MR”、“Name”、“Size”、“Mode”、“Filename/process”。在“Filename/process”列中,我看到“~/Dropbox/”表示一个dired缓冲区。我认为如果我可以排除所有以“*”开头的缓冲区,会更容易。有没有办法做到这一点?是的,请在答案中查看我的编辑
(ibuffer-filter-by-name "^[^*]")