我正在寻找一种在 emacs 的 other-buffer 方法中包含一些过滤的方法。当前调用 other-buffer 会提取最后一个最近的缓冲区,但这样做的问题是被外部进程修改的缓冲区不断作为 other-buffer 出现。我想在其他缓冲区中实现某种过滤。
目前,我在 C-^ 绑定到其他缓冲区的情况下使用 evil,并且我有一些 tail.el 缓冲区处于活动状态,当我尝试切换缓冲区时,尾部缓冲区会不断弹出。
是否有其他缓冲区的替代方案,或者有人可以编写一些代码来实现这一点,谢谢。
对我有用的是winner-mode
- 这就像一个撤消,但对于窗口配置。
这是我的设置:
(winner-mode)
(global-set-key (kbd "<f7>") 'winner-undo)
(global-set-key (kbd "C-<f7>") 'winner-redo)
另外我推荐other-window
一些非常便宜的快捷方式,因为它是一个经常使用的命令。
我已经把它戴上了C-p,因为我不明白其中一个方向键离其他键如此之远的不一致。我已经开始了previous-line
,C-h所以现在我的方向键是n h f b——它们几乎在一起了!
而且我并没有真正错过 上的默认值C-h,因为f1 具有相同的功能。
好的,所以我得到了一些可行的解决方案,但使用以下答案中的位并不完美: emacs lisp, how to get buffer major mode?
(defun buffer-mode (buffer-or-string)
"返回与缓冲区关联的主要模式。"
(with-current-buffer buffer-or-string (format "%s" major-mode)))(defun other-buffer-ex ()
(interactive)
(switch-to-buffer )
(if (string-equal (buffer-mode (other-buffer)) "comint-mode") (next-buffer) (other-buffer) )))