双显示器下如何高效切换emacs缓冲区

11

刚刚从单屏幕切换到双屏幕

我成功地在emacs中利用了两个屏幕,通过使用C-x 5 f在新窗口中打开文件缓冲区,我可以将该窗口拖动到第二个显示器上享受额外的屏幕空间

现在我的问题是如何高效地在不同的帧之间切换缓冲区

我习惯于使用C-x o在单个监视器上的分割框架中切换缓冲区,但这对于多个框架来说不起作用

相比之下,不得不使用更加繁琐的C-x 5 b<buf-name>,十分痛苦

有没有人有任何顶级提示,如何使双屏幕下的缓冲区切换更加高效?

理想情况下,我希望可以使用单个简单的键盘快捷键循环浏览所有缓冲区,而不受框架限制


你具体是在寻找什么行为? - jtahlborn
2
你是否只想用 C-x o 在所有可见帧中循环浏览所有可见缓冲区?如果是这样,我认为你可能只想将该键绑定到 (other-window 0 'visible) - jtahlborn
是的 - 我认为这正是我想要的,我会试一试。 - bph
4个回答

8

我预期C-x 5 o可以切换到另一个窗口,但我没有双屏幕设置来验证。


1
C-x 5 o 同样运行 other-frame,因此它与我的答案效果相同,优点是不需要自定义按键绑定,缺点是输入有些繁琐。 - spike

5

对于分离的框架,我使用以下方法来实现 Mac OSX 风格的“同一应用程序”切换,使用 cmd-backtick。如果您在 Linux / Windows 上,您可以使用 alt-tilda 来执行相同操作。

(defined-key global-map (kbd "M-`") 'other-frame)

我喜欢这个功能,因为它将切换框架的动作与切换缓冲区分开。对于有多个屏幕的情况,当你想要改变哪一个拥有焦点时,通常需要进行某种上下文切换。


天啊,我喜欢这个按键绑定设置。我将它设置为接近主键区的C-x C-u,但是使用window-numbering库后,拥有M-1到M-9来切换缓冲区和M-`来切换屏幕真的很棒!我爱它! - Andrei

4
把我上面的评论转化为答案,因为看起来这正是OP想要的。
(defun other-window-visible ()
  (interactive)
  (other-window 0 'visible))
(global-set-key "\C-xo" 'other-window-visible)

我无法让它正常工作,但在尝试中发现了next-multiframe-window,它似乎非常合适。 - Tom

3
也许
(global-set-key (kbd "C-x o") 'next-multiframe-window)

(尽管 Spike 提到,我认为保持 C-x o 绑定到 other-window 并将 next-multiframe-window 绑定到其他按键是有意义的。)

1
我将这个绑定到 M-o 上,它很棒。 - tprk77

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接