为新的emacs命令找到一个好的热键

时间:2012-11-16 11:42:43

标签: emacs hotkeys emacs24

在Emacs中,一切都与热键有关。创建新快捷方式的每个人都知道这个问题:

  1. 应该使用哪些热键?
  2. 最受欢迎的Emacs扩展程序(org-mode ...)使用了哪些热键?应该避免使用哪些热键?
  3. “扩展名”永远不会使用“用户”保留的热键吗?
  4. 如果代码应公开,应避免使用哪些热键? (某些键如right/left Win有时会在键盘上丢失,M-TAB会被窗口管理员捕获)
  5. 是否有所有保留热键的列表?

4 个答案:

答案 0 :(得分:4)

GNU Emacs Lisp参考手册有一个关于键绑定约定的详细页面:

http://www.gnu.org/software/emacs/manual/html_node/elisp/Key-Binding-Conventions.html

答案 1 :(得分:4)

坚持保留的C-c <letter>序列就足以保证你不会与任何其他代码发生冲突(虽然它仍然只是一个惯例;有时你会看到人们提供代码使用其中一个序列,但您可以将这些案例报告为作者的错误。

我建议将一些C-c <letter>序列用作前缀绑定,以便将相关功能组合在一起。例如,您可以使用C-c w <key>作为窗口相关功能的模式。这为你提供了大量保留的绑定,可能具有更好的助记符属性,当然后续的<key>可以是任何东西,而不仅仅是一个字母。

这也允许你使用C-c <letter> C-h列出你在该前缀下绑定的所有内容,这很方便。

答案 2 :(得分:3)

密钥C-c <letter>是为用户保留的,因此软件包通常不应使用它们(请注意,“letter”实际上是字母表中的字母,而不是“任何密钥”或“任何字符”)。但是大多数用户只是使用他们喜欢的密钥,当绑定与某个包冲突时,他们会以临时方式处理冲突(通过使用另一个密钥,或者通过专门覆盖包的绑定)。

答案 3 :(得分:1)

自动化键绑定检查评估表单,如

(键绑定[(控制c)(删除)])