Emacs将打开的缓冲区以树形结构展示

5
有没有一种 Emacs 模式可以将我的打开缓冲区列成树形结构?所谓树形结构是指,如果这些缓冲区正在访问位于同一目录中的文件,则将它们分组在一起。
在标准的 Emacs 中,甚至是 icicles 模式中,我看到的缓冲区列表视图都是平面的。树状视图将帮助我更快地理解哪些缓冲区已经打开以及它们之间的关系。
3个回答

6

虽然它没有提供树形视图,但我认为您会喜欢ibuffer-mode中的分组功能,这是默认缓冲区列表模式的替代品。它内置于Emacs >= 22。

(global-set-key (kbd "C-x C-b") 'ibuffer)

有一个Emacswiki页面,但最好的分组功能概述可能是这篇博客文章

编辑:我刚刚编写了一些代码,用于按每个缓冲区的vc父目录对我的ibuffer列表进行分组。它还允许ibuffer显示每个列出文件的版本控制状态。也许你会发现这很有帮助。


ibuffer的默认分组似乎不是基于目录位置的。实际上,我看不出任何分组的规律。也许我错过了某个视图。我会看看你的代码,它看起来很有前途。 - Michael Gummelt
1
我认为默认视图是按“最近性”排序的,即缓冲区上次修改的时间。但即使在原始配置中,您也可以运行M-x ibuffer-do-sort-by-filename/process,这非常有帮助。 - sanityinc
Michael Gummelt:默认设置只是默认设置--例如,您可以按文件路径(例如,项目的根目录)进行过滤,将该过滤器创建为命名组,并将您的过滤器组保存供将来使用。或者使用 "ibuffer-vc",这是由 sanityinc 编写并链接的很棒的工具 :) - phils

2

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接