2011-03-16 108 views

回答

6

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

您可以将overriding-terminal-local-mapoverriding-local-map设置为包含所需绑定的键映射,但会阻止缓冲区使用任何缓冲区/覆盖/次模式键盘映射,几乎禁用了大部分Emacs。

Emacs的下一个区域寻找一个绑定在当前点的字符属性 - 这可能不是遍布整个地方,但它是一种方式,你的绑定将被覆盖(除非你用字符属性来弥补在任何地方定义你的密钥,真的很棒)。

Emacs看起来的下一个地方是变量emulation-mode-map-alists,这可能是您最好的选择。它被设置为在有多个小模式键盘映射的情况下使用的软件包。

做一个全球辅助模式(见Defining Minor Modes),把你的键值中有没有约束力,添加辅助模式和键盘映射到emulation-mode-map-alists,并打开您的辅助模式。

你的键绑定现在必须优先于所有其他的,除了在emulation-mode-map-alist列表中的那些较早,或人物属性中找到,或在overriding-local-map ...

我相信这是你能做的最好的,W /掉黑客Emacs的来源。

4

在轻微的模式键绑定重写我的个人全局绑定我有运气使用添加挂机+本地未设置键

(添加钩“撤销树模式 (拉姆达的情况下() (本地 - 未设置密钥“C- /”)))