21.5 初始输入

多个小缓冲输入函数都有一个名为 initial 的参数。这是一个基本已不推荐使用的特性,用于指定小缓冲启动时带有预设文本,而非通常的空内容。

initial 是字符串,用户开始编辑文本时,小缓冲初始包含该字符串内容,光标位于末尾。如果用户直接按 RET 退出小缓冲,将使用初始输入字符串作为返回值。

我们不建议为 initial 使用非 nil 的值,因为初始输入是一种侵入式接口。历史列表和默认值为用户提供有用默认输入的方式更加便捷。

只有一种情况应当为 initial 参数指定字符串:即为 history 参数指定了一个 cons 单元时。See 迷你缓冲历史

initial 也可以是格式为 (string . position) 的 cons 单元。这表示在小缓冲中插入 string,但将光标置于字符串内的 position 位置。

由于历史原因,position 在不同函数中的实现不一致。在 completing-read 中,position 从 0 开始计数:0 表示字符串开头,1 表示第一个字符之后,依此类推。在 read-minibuffer 以及其他支持该参数的非补全小缓冲输入函数中,1 表示字符串开头,2 表示第一个字符之后,依此类推。

将 cons 单元用作 initial 参数的值已不推荐使用。

emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© 2025 Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike