2

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

  1. 应该使用哪些热键?
  2. 哪些热键被最流行的 Emacs 扩展 ( org-mode...) 使用并且应该避免使用?
  3. 是否有为“用户”保留的热键,这些热键永远不会被扩展使用?
  4. 如果代码应该公开,应该避免哪些热键?(某些键,例如right/left Win有时在键盘上丢失,M-TAB将被窗口管理器捕获)

是否有所有保留热键的列表?

4

4 回答 4

4

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

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

于 2012-11-17T22:52:03.957 回答
4

坚持使用保留的C-c <letter>序列就可以确保不会与任何其他代码冲突(尽管它仍然只是一种约定;有时您会看到人们提供使用这些序列之一的代码,但是您可以将这些情况作为错误报告给作者)。

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

这也让您可以C-c <letter> C-h用来列出您在该前缀下绑定的所有内容,这很方便。

于 2012-11-18T00:46:14.807 回答
3

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

于 2012-11-16T15:05:10.557 回答
1

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

(键绑定 [(control c) (delete)])

于 2012-11-17T08:59:23.100 回答