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

时间:2013-07-26 01:43:06

标签: emacs elisp evil-mode

我正在寻找一种在emacs中的other-buffer方法中包含一些过滤的方法。 目前调用其他缓冲区会拉出最后一个最新缓冲区,但问题是由外部进程修改的缓冲区会继续作为其他缓冲区。我想在其他缓冲区中实现某种过滤。

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

是否有其他缓冲区的替代品,或者有人可能会抓一些代码来实现这一点,谢谢。

2 个答案:

答案 0 :(得分:2)

对我有用的是winner-mode - 它就像撤消,但用于窗口配置。

这是我的设置:

(winner-mode)
(global-set-key (kbd "<f7>") 'winner-undo)
(global-set-key (kbd "C-<f7>") 'winner-redo)

另外,我建议在某些非常便宜的快捷方式上使用other-window,因为它是 一个使用很多的命令。

我把它放在 C-p 上,因为我不理解这种不一致 其中一个方向键与其他方向键相距甚远。 我已经在 C-h 上获得previous-line,所以现在 我的方向键是 n h f b - 它们几乎在一起!

我并没有真正错过 C-h 的默认值,因为 f1 具有相同的功能。

答案 1 :(得分:0)

好的,所以我得到了一些可行的解决方案,但它并不完美,它使用了这个答案的位: emacs lisp, how to get buffer major mode?

  

(defun buffer-mode(buffer-or-string)
    “返回与缓冲区关联的主要模式。”
    (with-current-buffer buffer-or-string(格式为“%s”major-mode)))

     

(defun other-buffer-ex()
      (互动)
     (交换机到缓冲器
   (if(字符串相等(缓冲模式(其他缓冲区))“comint-mode”)            (next-buffer)(其他缓冲区))))