2.4.3.2 通用转义语法

除了用于重要特殊控制字符的专用转义序列外,Emacs 还提供了多种转义语法,可用于表示非-ASCII 文本字符。

  1. 你可以按 Unicode 名称指定字符(如果该字符有名称)。?\N{NAME} 表示名称为 NAME 的 Unicode 字符。例如, ‘?\N{LATIN SMALL LETTER A WITH GRAVE}’ 等价于 ,表示 Unicode 字符 U+00E0。为方便输入多行字符串,名称中的空格可以替换为任意非空空白序列(如换行)。
  2. 你可以按 Unicode 编码值指定字符。?\N{U+X} 表示 Unicode 码点为 X 的字符,其中 X 是十六进制数。此外,?\uxxxx?\Uxxxxxxxx 分别表示码点 xxxxxxxxxxxx,每个 x 为一位十六进制数字。例如:?\N{U+E0}?\u00e0?\U000000E0 都等价于 与 ‘?\N{LATIN SMALL LETTER A WITH GRAVE}’。Unicode 标准只定义到码点 ‘U+10ffff’,若指定更高码点,Emacs 会报错。
  3. 你可以按十六进制字符编码指定字符。十六进制转义序列以反斜杠、‘x’ 、加十六进制编码组成。例如:‘?\x41’ 是字符 A,‘?\x1’ 是字符 C-a?\xe0 是字符 à(带重音符的 a)。‘x’ 后可跟一位或多位十六进制数字,因此可表示任意字符编码。
  4. 你可以按八进制字符编码指定字符。八进制转义序列由反斜杠加最多三位八进制数字组成。例如:‘?\101’ 表示字符 A,‘?\001’ 表示字符 C-a?\002 表示字符 C-b。只有八进制编码不超过 777 的字符才能用这种方式表示。

这些转义序列也可用于字符串中,See 字符串中的非-ASCII 字符

emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© 2025 Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike