分组Emacs缓冲区


2

是否可以在Emacs中创建缓冲区组,以更好地组织大量缓冲区?

例如,假设我正在从事软件项目的多个分支。我可能已经为同一文件的分支变体打开了单独的缓冲区。我希望能够通过分支对缓冲区进行分组,并且能够看到属于当前分支的缓冲区。

以任意方式(不一定是源代码分支)对缓冲区进行分组(或标记)也是有用的。


作为我对SU-I部分看似常见的常见行为的一种表现,只有当他们完全融入一个人的设置时才接受答案(就像提供“售后服务”一样)答案被接受),我会等到这个有趣的问题有一个接受的答案来支持它。
Nikana Reklawyks

Answers:


2

完全符合您的需求的是透视模式( https://github.com/nex3/perspective-el )。它完全符合您描述的与GNOME和KDE中的工作空间概念类似的情况。这种模式适用于抛射模式和舵模式,可以增强您的emacs以更好地处理项目并分别更好地搜索它们。

如果你不想经历自己设置这些模式的麻烦,我建议你安装emacs的前奏和简单的设置视角。你可以查看我的emacs配置( https://github.com/ksinkar/prelude )看看我是如何做到的。


3

我想你可能正在寻找像ibuffer这样的东西(内置于最新版本中)。它基本上就像缓冲区一样。

M-x ibuffer
% n *.py  # marks all buffers whose name ends with .py
t         # inverts the marked buffers. Those which had marks, are unmarked and vice versa.
k         # removed marked buffers from the list.

您现在应该有一个缓冲区,列出以* .py结尾的所有文件。

有关更多信息,您可以 C-h m (在ibuffer模式下查看模式帮助)。


进一步了解ibuffer,它似乎支持命名过滤器组。如果您在答案中添加此信息,我会接受。谢谢!
Ray

2

我建议尝试elscreen: http://www.morishima.net/~naoto/software/elscreen/ 基本上,它允许您创建缓冲区组并在它们之间切换,就好像它们是Web浏览器中的选项卡一样。我最喜欢elscreen的一个特点是每个组之间的帧分割可能不同,这在处理不同的任务时非常有用。


它绝对是一个很好的工具,但我不会建议它用于这个问题,因为这对许多缓冲区都没有用,并且任何组合都很容易丢失。 C-x 1。基本上,它都是关于显示,没有潜在的存储状态,afaik。
Nikana Reklawyks

0

也用 iBuffer 你可以添加以下内容 .emacs

(setq ibuffer-saved-filter-groups
      (quote (("default"
               ("Org" ;; all org-related buffers
                (mode . org-mode))
               ("Programming" ;; prog stuff not already in MyProjectX
                (or
                 (mode . c-mode)
                 (mode . c++-mode)
                 (mode . perl-mode)
                 (mode . python-mode)
                 (mode . emacs-lisp-mode)))
               ("LaTeX"
                (mode . latex-mode))
               ("Directories"
                (mode . dired-mode))
               ))))

这个例子,将缓冲区分组 org 一起。有缓冲的 c-modec++-modepels-mode 等将被分组。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.