下列函数将事件、按键序列或字符转换为文本描述。这些描述适用于在消息中包含任意文本字符或按键序列,因为它们会将非打印字符与空白字符转换为可打印字符序列。非空白的可打印字符的描述即为字符本身。
该函数返回一个字符串,以 Emacs 标准记法表示 sequence 中的输入事件。若 prefix 非 nil,则为引导至 sequence 的输入事件序列,并包含在返回值中。两个参数均可为字符串、向量或列表。有关合法事件的更多信息参见 See 输入事件。
(key-description [?\M-3 delete])
⇒ "M-3 <delete>"
(key-description [delete] "\M-3")
⇒ "M-3 <delete>"
另见下文 single-key-description 的示例。
该函数以 Emacs 键盘输入标准记法返回描述 event 的字符串。普通可打印字符原样显示;控制字符以 ‘C-’ 开头;元字符以 ‘M-’ 开头;空格、制表符等显示为 ‘SPC’、‘TAB’ 等。功能键符号放在尖括号 ‘<…>’ 中。列表形式的事件以列表 CAR 位置的符号名表示,并放在尖括号内。
若可选参数 no-angles 非 nil,则省略功能键与事件符号外的尖括号,用于兼容不使用该括号的旧版 Emacs。
(single-key-description ?\C-x)
⇒ "C-x"
(key-description "\C-x \M-y \n \t \r \f123")
⇒ "C-x SPC M-y SPC C-j SPC TAB SPC RET SPC C-l 1 2 3"
(single-key-description 'delete)
⇒ "<delete>"
(single-key-description 'C-mouse-1)
⇒ "C-<mouse-1>"
(single-key-description 'C-mouse-1 t)
⇒ "C-mouse-1"
该函数以 Emacs 文本字符标准记法返回描述 character 的字符串,用法与 single-key-description 类似,但参数必须是通过 characterp 检测的合法字符编码(see Character Codes)。该函数对控制字符的描述以脱字符开头(Emacs 在框架中通常以此显示控制字符)。带修饰位的字符会导致该函数抛出错误(带 Control 修饰的 ASCII 字符除外,会按控制字符表示)。
(text-char-description ?\C-c)
⇒ "^C"
(text-char-description ?\M-m)
error→ Wrong type argument: characterp, 134217837