Emacs缓冲区组/选项卡

jpo*_*poz 16 emacs

我一直在同时处理多个代码库.通常是内部库,Web应用程序和一些服务.

有没有办法让Emacs为每个代码库打开多个缓冲区,但是这些缓冲区是否已分组?就像每个代码库或组的选项卡一样,我可以轻松切换.

我已经检查了tabbar-mode,这不是我正在寻找的.我正在寻找一种简单的方法来快速从一个代码库工作切换到另一个代码库.就像为每个项目保存一组窗口并在它们之间快速切换一样.

有任何想法吗?

phi*_*ils 8

一些建议:

  1. ibuffer是一个高级替代品list-buffers,您可以绑定到C-xC-b它的位置.这使您可以按各种标准过滤缓冲区列表,将过滤器组合成组,然后根据需要排列组; 您还可以保存过滤器和组以便以后恢复.使用C-hmibuffer缓冲区查看所有选项.另请参阅:Emacs:帮助我理解文件/缓冲区管理

  2. 尝试使用Emacs的各种类似屏幕的库之一,例如ElscreenEscreen.我自己从来没有尝试过,但我认为每个屏幕可以有单独的缓冲区列表,这看起来很适合你的目的.

  3. 如果你想要更大的分离,那么当一个项目"活动"时,来自其他项目的缓冲区不可用,那么我不知道在单个Emacs实例中这样做的方法,但在那种情况下我只是启动Emacs的多个实例; 每个项目一个.Emacs在现代硬件上足够轻巧,这是一种完全合理的方法.


Boz*_*sov 6

看一下projectile - 一个简单而不引人注目的Emacs项目管理库.它的一个功能是从特定项目(C-c p b)切换到缓冲区.


san*_*inc 5

ibuffer为此目的使用,连同我的ibuffer-vc扩展(可通过Marmalade获得); 此扩展根据它们所属的版本控制项目对缓冲区进行分组,这是IMO一种理想的面向程序员的缓冲区分组方式.