Emacs 功能类似于其他缓冲区,但具有过滤功能

Emacs 功能类似于其他缓冲区,但具有过滤功能,emacs,elisp,evil-mode,Emacs,Elisp,Evil Mode,我正在寻找一种在emacs的另一个缓冲区方法中包含一些过滤的方法。 当前调用其他缓冲区会提取最后一个最新的缓冲区,但问题是,被外部进程修改的缓冲区会一直作为其他缓冲区出现。我想在其他缓冲区中实现某种过滤 目前我使用邪恶,C-^绑定到其他缓冲区,我有一些tail.el缓冲区处于活动状态,当我尝试切换缓冲区时,tail缓冲区不断弹出 是否有其他缓冲区的替代方案,或者是否有人可以编写一些代码来实现这一点,谢谢。对我来说有效的是赢家模式-这就像撤销,但对于窗口配置而言 以下是我的设置: (winner-

我正在寻找一种在emacs的另一个缓冲区方法中包含一些过滤的方法。 当前调用其他缓冲区会提取最后一个最新的缓冲区,但问题是,被外部进程修改的缓冲区会一直作为其他缓冲区出现。我想在其他缓冲区中实现某种过滤

目前我使用邪恶,C-^绑定到其他缓冲区,我有一些tail.el缓冲区处于活动状态,当我尝试切换缓冲区时,tail缓冲区不断弹出


是否有其他缓冲区的替代方案,或者是否有人可以编写一些代码来实现这一点,谢谢。

对我来说有效的是
赢家模式
-这就像撤销,但对于窗口配置而言

以下是我的设置:

(winner-mode)
(global-set-key (kbd "<f7>") 'winner-undo)
(global-set-key (kbd "C-<f7>") 'winner-redo)
(赢家模式)
(全局设置键(kbd“”)“撤消”
(全局设置键(kbd“C-”)的赢家重做)
另外,我还推荐一些非常便宜的快捷方式,因为它是 一个经常使用的命令

我把它写在C-p上,因为我不理解这种不一致性 其中一个方向键与其他方向键距离太远。 我在C-h上有上一行,所以现在 我的方向键是n h f b-它们几乎在一起

从f1开始,我就没有错过C-h的默认设置
具有相同的功能。

好的,所以我得到了一些可行的解决方案,但它并不完美,使用以下答案:

(取消缓冲模式(缓冲区或字符串)
“返回与缓冲区关联的主模式。”
(使用当前缓冲区或字符串(格式“%s”主模式)))

(卸载其他缓冲区ex()
(交互式)
(切换到缓冲区
(如果(字符串相等(缓冲区模式(其他缓冲区))“comint模式”) (下一个缓冲区)(其他缓冲区)))


你确定你说的是其他窗口吗?你剩下的问题(谈到最近的缓冲区)让我想到了下一个缓冲区
other window
对最近的窗口/缓冲区没有任何概念:它总是按照相同的顺序在窗口之间循环,这取决于拆分几何体。我使用了邪恶,C-^绑定到邪恶缓冲区命令,查看代码,它看起来像是在调用其他缓冲区。。。哦,对不起,应该是其他缓冲区,而不是其他窗口。好的,这里最困难的部分是知道什么时候你不想切换到尾部缓冲区。有人可能会写一些东西来跳过尾部缓冲区,但是如果你愿意,你必须找到另一种方法来切换到它们。我也使用ibuffer,所以我可以用它来切换尾部缓冲区。只有当我使用这个C-^组合时,我才不想切换到尾部缓冲区,此外,我还编写了一个简单的函数来切换到或创建尾部缓冲区。当编辑文件并在两者之间切换时,我不希望尾部缓冲区在两者之间跳跃,我被困在尾部缓冲区中,因为它使用了不同的键映射。基本逻辑如下(defun other buffer ex()(switch buffer)(if(eq other buffer mode“itail mode”)(下一个缓冲区)(另一个缓冲区)为什么不完美?有什么困扰你的?我需要用一段时间来替换if,这样如果下一个缓冲区也是尾部缓冲区,那么它也应该被跳过。