gpt4 book ai didi

emacs - 全局覆盖 emacs 键绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 01:29:17 24 4
gpt4 key购买 nike

是否有一个命令可以全局覆盖键绑定(bind),以便它甚至覆盖主要模式的本地设置? global-set-key 被主要模式绑定(bind)覆盖,如下所述:http://www.gnu.org/software/emacs/manual/html_node/emacs/Rebinding.html

最佳答案

不,没有(内置)方法可以设置覆盖所有其他键绑定(bind)。通过阅读 "Searching the Active Keymaps" 来了解 Emacs 如何搜索键盘映射。 .

您可以将 overriding-terminal-local-mapoverriding-local-map 设置为包含您想要的绑定(bind)的键盘映射,但这会阻止您的缓冲区具有任何缓冲区/覆盖/次要模式键盘映射,几乎禁用大多数 Emacs。

Emacs 寻找绑定(bind)的下一个区域是当前点的字符属性 - 它可能不会到处使用,但这是覆盖绑定(bind)的一种方式(除非您用字符属性来定义)你的 key 到处都是,真恶心)。

Emacs 下一个查找的地方是变量 emulation-mode-map-alists,这可能是您最好的选择。它是为要处理多个次要模式键盘映射的情况而设置的包。

创建一个全局次要模式(请参阅 Defining Minor Modes ),将您的按键绑定(bind)放在那里,将您的次要模式和键盘映射添加到emulation-mode-map-alists,然后打开您的次要模式。

您的按键绑定(bind)现在将优先于所有其他按键绑定(bind),除了 emulation-mode-map-alist 列表中较早的按键绑定(bind)、或在角色属性中找到的按键绑定(bind)或在 overriding-local 中找到的按键绑定(bind)- map ...

我相信这是你能做的最好的事情,无需破解 Emacs 源代码。

关于emacs - 全局覆盖 emacs 键绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5332221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com