【发布时间】:2013-07-26 01:43:05
【问题描述】:
我正在寻找一种在 emacs 的 other-buffer 方法中包含一些过滤的方法。 当前调用 other-buffer 会提取最后一个最近的缓冲区,但这样做的问题是,被外部进程修改的缓冲区不断作为 other-buffer 出现。我想在其他缓冲区中实现某种过滤。
目前我在 C-^ 绑定到其他缓冲区的情况下使用 evil,并且我有一些 tail.el 缓冲区处于活动状态,当我尝试切换缓冲区时,尾部缓冲区会不断弹出。
是否有其他缓冲区的替代方案,或者有人可以编写一些代码来实现这一点,谢谢。
【问题讨论】:
-
你确定你说的是
other-window吗?你的问题的其余部分(谈到最近的缓冲区)让我想起了next-buffer...other-window没有任何关于最近的窗口/缓冲区的概念:它总是以相同的顺序在窗口之间循环,具体取决于分裂几何。 -
我使用 evil 并且 C-^ 绑定到 evil-buffer 命令,查看代码,它看起来像是在调用 other-buffer... 哦抱歉,应该是 other-缓冲区不是其他窗口..
-
好的,这里的困难部分是知道何时不想切换到尾部缓冲区。有人可以写一些东西来跳过尾部缓冲区,但是当你确实想要时,你必须找到另一种方式来切换到它们。
-
我也使用 ibuffer,所以我可以用它来切换尾部缓冲区。只有当我使用这种 C-^ 组合时,我才不想切换到尾缓冲区,此外我还编写了一个简单的函数来切换到或创建尾缓冲区。在编辑文件和切换时,我不希望尾部缓冲区在两者之间跳跃,并且我被困在尾部缓冲区中,因为它使用了不同的键盘映射。
-
基本逻辑是这样的 (defun other-buffer-ex () (switch-buffer (if (eq other-buffer-mode "itail-mode") (next-buffer) (其他缓冲区))))