在双显示器设置中快速导航 Emacs 缓冲区

mwi*_*ams 5 multiple-monitors emacs macos

如果我的每个显示器上都有一个 Emacs 框架,我如何轻松地在两个显示器之间导航缓冲区?我通常使用 shift + 箭头跳转到我正在寻找的缓冲区的方向,但是对于两帧,它不会跳转。

这有什么窍门吗?还是我需要先给其他 Emacs 框架焦点(这是我想避免的步骤)。

Tre*_*son 7

您可以使用我上传到 wiki 的新创建的包:framemove.el。从我的博客条目中剪切/粘贴我的笔记:

我编写的包framemove与 Emacs 内置的 windmove 包具有相同的用法。而且,更好的是,它可以与 windmove 集成,这样当你用完窗户在之间移动时,你会跳到那个方向的下一帧。

要单独安装 framemove:

(require 'framemove)
(framemove-default-keybindings) ;; default prefix is Meta
Run Code Online (Sandbox Code Playgroud)

但是您可能希望将它与 windmove 结合使用,在这种情况下,这是要添加到 .emacs 的集成代码:

(require 'framemove)
(windmove-default-keybindings)
(setq framemove-hook-into-windmove t)
Run Code Online (Sandbox Code Playgroud)

与windmove集成后,只需右SHIFT即可将焦点移至当前右侧的窗口,当没有更多时,焦点将移至右侧的框架。

  • 来吧 mwilliams,接受这个作为答案。我自己使用 framemove,它是一个出色的软件包,可以完全满足您的要求,甚至可以使用您已经在使用的相同键绑定。 (2认同)

Dou*_*ris 2

除非我误解了你的问题——尤其是你说的“在两个显示器之间导航缓冲区”的部分。我假设您的意思是您想要在不同显示器上的缓冲区之间移动光标。

我认为您正在寻找的 emacs 函数是other-frame. 它通常绑定到C-x 5 o. 当然,您可以将其绑定到您想要的任何其他组合键(毕竟这是 emacs)。

要了解它当前绑定的内容,请键入C-h w(whereis help),然后键入other-frame