Next: Emacs 编程技巧, Previous: Emacs Lisp 编码规范, Up: 技巧与规范 [Contents][Index]
D.2 按键绑定规范 ¶
-
许多专用主模式(如 Dired、Info、Compilation 和 Occur)
用于处理包含 超链接(hyper-links)的只读文本。
此类主模式应重新定义 mouse-2 和 RET 以实现链接跳转。
同时应设置
follow-link 条件,使链接支持 mouse-1-click-follows-link。
See 定义可点击文本。实现此类可点击链接的简便方法参见 See 按钮。
-
不要在 Lisp 程序中将 C-c 字母 定义为按键。
由 C-c 与一个字母(大小写均可,ASCII 或非 ASCII)
组成的按键序列为用户保留使用;这是 唯一 专供用户使用的按键序列,请勿占用。
为让所有 Emacs 主模式遵守该规范曾投入大量工作,放弃该规范会让这些努力白费并给用户带来不便。请严格遵守。
- 无修饰键的功能键 F5 至 F9 同样保留给用户自定义。
- 由 C-c 后接控制字符或数字组成的按键序列保留给主模式使用。
- 由 C-c 后接 {、}、
<、>、: 或 ; 组成的按键序列也保留给主模式使用。
- 由 C-c 后接其他任意 ASCII 标点或符号字符组成的按键序列分配给次要模式使用。
主模式中使用此类按键并非绝对禁止,但可能会被次要模式的绑定临时覆盖。
- 不要在任意前缀按键(包括 C-c)后绑定 C-h。
若不绑定 C-h,它会自动作为帮助按键,用于列出该前缀对应的子命令。
- 不要绑定以 ESC 结尾的按键序列,除非前一个按键也是 ESC。
(即绑定 ESC ESC 是允许的。)
该规则的原因是:在任意环境下为 ESC 设置非前缀绑定,会导致该环境下无法识别功能键的转义序列。
- 同理,不要绑定以 C-g 结尾的按键序列,因为该按键通常用于取消按键序列。
- 任何类似临时模式或可进出状态的功能,都应将 ESC ESC
或 ESC ESC ESC 定义为退出方式。
对于可执行普通 Emacs 命令的状态,或更一般地,在 ESC 后接功能键或方向键有意义的状态中,
不可定义 ESC ESC,否则会导致无法识别 ESC 后的转义序列。
此类状态应使用 ESC ESC ESC 作为退出方式,其他情况则使用 ESC ESC。