Emacs :(下一行)和(上一行)行为不正确

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Emacs :(下一行)和(上一行)行为不正确相关的知识,希望对你有一定的参考价值。

我在.emacs文件中添加了以下代码:

(global-set-key (kbd "C-i") 'previous-line)
(global-set-key (kbd "C-k") 'next-line)

之后,我启动Emacs并推动C-x C-b打开*Buffer List*缓冲区。然后我推C-x o使其活跃。

在这些操作之后,我尝试了我的新键绑定,他们的工作很奇怪! C-i在框架的底部打印No buttons!C-k将该点移动到下一行,但在前一行打印D

有什么建议?

答案

如果你要求emacs告诉你键绑定的内容,在缓冲区列表缓冲区中使用C-h c C-k RETC-h c C-i RET,你会被告知

C-k运行命令Buffer-menu-delete

TAB运行命令前进按钮

仅仅因为您将这些键绑定到全局键映射中的其他函数并不意味着这些绑定在任何特定缓冲区中都是活动的,因为可能有其他有效的键映射优先于全局映射。

这是一个很大的主题,您必须谨慎行事(特别要注意Ck有点破坏性:它标记了删除缓冲区 - 但可以想象,在具有不同模式的不同缓冲区中,有效的地图可能会成功更具破坏性)。

您可以在emacs手册中阅读有关keymaps的信息。

以上是关于Emacs :(下一行)和(上一行)行为不正确的主要内容,如果未能解决你的问题,请参考以下文章

Emacs 帮助模式:在源代码的第一行定位定义

我如何将像上/下控制之类的emacs添加到vscode?

如果第一行和最后一行不够长,如何在 Emacs 中删除一个矩形文本?

备忘-EMACS常用命令

emacs怎么操作 emacs操作步骤介绍【详解】

emacs快捷键