将文本插入到活动的迷你缓冲区

5
我正在尝试在运行外部命令后将文本插入到小缓冲区中。例如:
(call-interactively 'eval-expression)
(insert "blah")

问题在于 eval-expression 在用户输入之前不会返回。我的最终目标是在任意命令的迷你缓冲区提示中添加一些默认的可编辑文本(即“默认字符串”或模板)。我该如何实现这个目标?

1个回答

5
使用 minibuffer-setup-hook
(defun foo () (insert "ABCDE"))

(add-hook 'minibuffer-setup-hook 'foo)

1
有没有一种方法可以在不必每次添加/删除钩子的情况下暂时实现这个功能?我只想在使用我的自定义函数时才出现这种行为。 - curious
1
每次需要“临时”添加/删除时,只需添加/删除即可。这并不费事。将添加/删除代码放在您使用它的任何函数中。 - Drew
谢谢,我只是想确保没有更习惯用的方法来做这件事(添加/删除钩子似乎有些浪费)。 - curious
不,那是惯用的方式:为钩子添加/删除。 - Drew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接