为新的emacs命令找到一个好的热键
在Emacs中,一切都与热键有关。每个创建新捷径的人都知道问题所在:为新的emacs命令找到一个好的热键,emacs,hotkeys,emacs24,Emacs,Hotkeys,Emacs24,在Emacs中,一切都与热键有关。每个创建新捷径的人都知道问题所在: 应该使用哪些热键 最流行的Emacs扩展(org mode…)使用哪些热键,应该避免使用哪些热键 是否为“用户”保留了扩展永远不会使用的热键 如果代码应该是公共的,那么应该避免使用哪些热键?(键盘上有时缺少一些键,如right/left Win,M-TAB将被windowmanager捕获) 是否有所有保留热键的列表?键C-C是为用户保留的,因此软件包通常不应该使用它们(请注意,“字母”实际上是字母表中的字母,而不是“任何键”
org mode
…)使用哪些热键,应该避免使用哪些热键right/left Win
,M-TAB
将被windowmanager捕获)是否有所有保留热键的列表?键
C-C
是为用户保留的,因此软件包通常不应该使用它们(请注意,“字母”实际上是字母表中的字母,而不是“任何键”或“任何字符”)。但大多数用户只使用他们喜欢的密钥,当该绑定与某个包冲突时,他们会以特别的方式处理冲突(或者使用另一个密钥,或者专门覆盖包的绑定)。自动执行密钥绑定检查,评估表单,如
(键绑定[(控制c)(删除)])GNU Emacs Lisp参考手册有一页详细介绍键绑定约定:
坚持保留的
C-C
序列可以保证您不会与任何其他代码冲突(尽管这仍然只是一种惯例;有时您会看到人们提供使用这些序列之一的代码,但您可以将这些情况作为错误报告给作者)
我建议使用一些C-C
序列作为前缀绑定,将相关功能分组在一起。例如,您可以使用C-cw
作为窗口相关功能的模式。这会提供大量的保留绑定,可能具有更好的助记符属性,当然后续的
可以是任何内容,而不仅仅是一个字母
这还允许您使用C-C-h
列出您在该前缀下绑定的所有内容,这非常方便