25.5 帮助信息中的字符描述

下列函数将事件、按键序列或字符转换为文本描述。这些描述适用于在消息中包含任意文本字符或按键序列,因为它们会将非打印字符与空白字符转换为可打印字符序列。非空白的可打印字符的描述即为字符本身。

Function: key-description sequence &optional prefix

该函数返回一个字符串,以 Emacs 标准记法表示 sequence 中的输入事件。若 prefixnil,则为引导至 sequence 的输入事件序列,并包含在返回值中。两个参数均可为字符串、向量或列表。有关合法事件的更多信息参见 See 输入事件

(key-description [?\M-3 delete])
     ⇒ "M-3 <delete>"
(key-description [delete] "\M-3")
     ⇒ "M-3 <delete>"

另见下文 single-key-description 的示例。

Function: single-key-description event &optional no-angles

该函数以 Emacs 键盘输入标准记法返回描述 event 的字符串。普通可打印字符原样显示;控制字符以 ‘C-’ 开头;元字符以 ‘M-’ 开头;空格、制表符等显示为 ‘SPC’、‘TAB’ 等。功能键符号放在尖括号 ‘<…>’ 中。列表形式的事件以列表 CAR 位置的符号名表示,并放在尖括号内。

若可选参数 no-anglesnil,则省略功能键与事件符号外的尖括号,用于兼容不使用该括号的旧版 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"
Function: text-char-description character

该函数以 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
Command: read-kbd-macro string &optional need-vector

该函数主要用于处理键盘宏,但也可大致作为 key-description 的逆操作。传入由空格分隔的按键描述字符串,返回包含对应事件的字符串或向量。(是否为合法按键序列取决于所用事件,参见 See 按键序列。)若 need-vectornil,返回值始终为向量。


emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike