如何在emacs中的可见缓冲区之间切换?

如何在emacs中的可见缓冲区之间切换?,emacs,keyboard-shortcuts,Emacs,Keyboard Shortcuts,如果我在分割屏幕上查看Emacs上的两个不同缓冲区,并且光标位于顶部缓冲区上,那么将光标移动到底部缓冲区的快速方法是什么 附加问题:如果我知道一个命令,是否有一种简单的方法来确定它绑定到哪个组合键(如果有)?切换到其他缓冲区使用:C-x o 描述键:C-hk关于奖金问题,如果您知道命令(other window),并且您使用M-x other window调用它,Emacs将在小缓冲区中显示一条简短消息,说明:“您可以使用C-x n运行命令‘other window’” 还有M-x where

如果我在分割屏幕上查看Emacs上的两个不同缓冲区,并且光标位于顶部缓冲区上,那么将光标移动到底部缓冲区的快速方法是什么


附加问题:如果我知道一个命令,是否有一种简单的方法来确定它绑定到哪个组合键(如果有)?

切换到其他缓冲区使用:
C-x o


描述键:
C-hk
关于奖金问题,如果您知道命令(
other window
),并且您使用M-x other window调用它,Emacs将在小缓冲区中显示一条简短消息,说明:“您可以使用C-x n运行命令‘other window’”

还有M-x where is,它会提示输入命令,并提供生成该命令的当前绑定(如果有)


Emacs附带了一个教程。它实际上已经回答了您的问题(请参阅本教程中的
MULTIPLE WINDOWS
about 80%一节)。可以通过C-h t或教程的M-x帮助访问本教程。还有一个链接指向Emacs初始启动屏幕上的教程。在教程链接的正下方是在线链接。本教程将引导您完成基本的编辑/移动命令,导览更多的是介绍Emacs所提供的功能。

您可能也感兴趣,它可以使用等功能实现“定向”窗口导航。

如果您只想在当前显示的缓冲区之间导航,然后,您确实希望在显示它们的窗口之间导航。这为您提供了一种方法,使用与缓冲区相同的窗口/帧名称:


请参见

当您在一个帧中打开两个以上的窗口(缓冲区)时,这里有一个更好的解决方案:

(全局设置键(kbd“C-x”)“windmove up)
(全局设置键(kbd“C-x”)“windmove down”
(全局设置键(kbd“C-x”)‘windmove left)
(全局设置键(kbd“C-x”)‘windmove right)
现在,您可以使用
C-x UP/DOWN/LEFT/RIGHT
转到上面的/nether/LEFT/RIGHT缓冲区,当一个帧中有三个或更多缓冲区时,它们比
的其他窗口更精确,并且您不需要安装任何包

您甚至可以使用上面在.emacs/init.el文件中配置的快捷键之一,在方向(
垂直/水平
)上循环缓冲区,但我不推荐使用它(此外,我不再记得它了,如果您愿意,可以用谷歌搜索它)


当然,除了我在.emacs中使用的快捷键之外,您还可以使用其他快捷键。

谢谢Trey,在本教程的前75%中,我都是以真正的编码方式遵循的,说“是的,我基本上明白了”,然后开始编码。当C-x出现在队列中时,您需要等待一段时间,点击其他上面的评论是不正确的:你不需要等待C-x出现。太好了。这两个实体的适当术语是什么?它们是缓冲区吗?镜框?Windows?对于emacs新手来说,解释“C-x o”的含义是很有帮助的:按住CTRL键,按x键,放开CTRL键,按o键。要想弄清楚Timofey和nguthrie在说什么,你必须等待C-x出现在模式行上(底部的条作为反馈)。但是您可以立即点击o。是的,它现在是内置的,所以您只需要将
(windmove默认键绑定)
添加到您的init文件中。请注意,默认情况下,C-x和C-x用于在活动缓冲区之间切换。注意,如果您在其中一个窗格中运行了bash,则这不起作用,这些命令被bash而不是使用它们的emacs阻塞。可能适用于通过emacs运行的其他程序。可以在窗格之间移动,直到bash窗格处于活动状态,然后卡住。C-Xo也不起作用。@LawfulEvil执行“C-C-Xo”以逃避bash飞机的捕获C-C'告诉窗口您正在输入emacs命令,而不是终端命令。对于邪恶模式用户,我发现的最好方法是使用类似vim的键绑定来移动,例如
(全局设置键(kbd“C-k”)'windmove up)
等等..或
M-x windmove-