本节描述所有简单的自定义类型。对于其中的几种自定义类型,自定义界面会提供 输入完成功能,对应的快捷键为 C-M-i 或 M-TAB。
sexp该值可以是任何可以打印并读回的 Lisp 对象。如果你不想花时间去定义一个更具体
的类型,就可以将 sexp 作为任何选项的备用类型。
integer值必须为整数。
natnum值必须为非负整数。
number值必须为数字(浮点型或整型)。
float值必须为浮点型。
string值必须为字符串。自定义界面会在缓冲区中显示该字符串,且不会显示分隔用的 ‘"’ 字符或反斜杠 ‘\’ 转义符。
regexp与 string 类似,不同之处在于该字符串必须是有效的正则表达式。
character值必须为字符码。字符码实际上是一个整数,但此类型会通过在缓冲区中插入字符 来显示该值,而非直接显示其数字。
file值必须为文件名。界面会提供输入完成功能。
(file :must-match t)值必须为一个现有文件的文件名。界面会提供输入完成功能。
directory值必须是一个目录。界面组件提供补全功能。
hook值必须是一个函数列表。该自定义类型用于钩子变量。
你可以在钩子变量的 defcustom 中使用 :options 关键字,
指定推荐用于该钩子的函数列表;See 定义自定义变量。
symbol值必须是一个符号。它会以符号名的形式显示在自定义缓冲区中。 界面组件提供补全功能。
function值必须是 lambda 表达式或函数名。界面组件为函数名提供补全。
variable值必须是一个变量名。界面组件提供补全功能。
face值必须是一个代表 face 名称的符号。界面组件提供补全功能。
boolean值为布尔类型 — 即 nil 或 t。
注意,通过同时使用 choice 和 const(见下一节),
你不仅可以指定值必须为 nil 或 t,
还可以为每个值指定描述文本,使其贴合该选项的具体含义。
key值是符合 key-valid-p 检查的有效按键,
适用于例如 keymap-set 等函数。
key-sequence值是一个按键序列。自定义缓冲区使用与 kbd 函数相同的语法显示按键序列。
详见 See Key Sequences。这是旧类型;请改用 key。
coding-system值必须是一个编码系统名称,可通过 M-TAB 进行补全。
color值必须是有效的颜色名称。界面组件会为颜色名称提供补全功能,同时还会显示颜色示例, 并提供一个按钮,可从 *Colors* 缓冲区中显示的颜色名称列表里选择颜色名。
fringe-bitmap值必须是有效的边缘位图(fringe bitmap)名称。界面组件提供补全功能。