在Emacs中高效切换窗口

11

可能是重复问题:
如何更轻松地在Emacs中切换缓冲区?

在使用emacs时,我倾向于保持许多打开的窗口。不幸的是,使用M-x other-window非常烦人。到目前为止,我已经在我的.emacs文件中设置了键盘快捷方式:(global-set-key (quote [backtab]) (quote other-window))。这使得事情变得更容易,但我正在寻找相当于next-bufferprevius-buffer命令的可以应用于窗口的等效命令。


我在F11上使用M-x other-window,而在F12上则使用两次M-x other-window。在我使用的三窗口设置中,它可以作为“下一个”和“上一个”操作。 - Boris Stitnicky
@BorisStitnicky:我通常有8个窗口。这可能听起来有点奇怪,但那是我的喜好 ;) - Karol
7
这个问题被正确地关闭了,但原因是:可能重复了: 如何在Emacs中更轻松地在缓冲区之间切换? 这是不正确的。在Emacs中,窗口和缓冲区是两个不同的概念(窗口是缓冲区的视口)。来自@phils的评论提供了更好的解释来关闭此问题。 - Karol
1个回答

20
请将以下内容添加到您的.emacs文件中。
(windmove-default-keybindings)
(setq windmove-wrap-around t)

然后您就可以使用 Shift + {左,上,下,右} 箭头在窗口之间进行切换。Shift修饰符是windmove-default-keybindings的参数,因此您可以选择另一个。 您可能希望激活winner-mode 。这是一种记住您的窗口配置的小模式,您可以使用winner-undowinner-redo转到以前/下一个配置。

1
这正是我所寻找的。有关该解决方案的更多信息可在emacs wiki上找到。 - Karol
对于任何 Spacemacs 用户:建议的代码应该放在 dotspacemacs/user-init 函数中,放在你的 .spacemacs 文件中。 - Benjamin R

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