我正在尝试从elisp函数获得动态提示。我想要诸如replace-regexp之类的东西,它将在其中显示上一次输入的正则表达式。我试过了
(交互的
(concat“sab”“bab”)))
那行不通!
我也尝试过像格式的消息
(交互式“s%s”最后使用的正则表达式)
那是行不通的!
有人知道怎么做吗?
谢谢!
最佳答案
M-x find-function
是你的 friend 。通过显示源代码,它将告诉您emacs中的所有功能。使用它,我发现query-regexp-replace
调用query-replace-read-args
,后者调用query-replace-read-from
,后者使用最后一次使用的正则表达式创建的提示来调用read-from-minibuffer
,该提示保存在虚线对query-replace-defaults
中。
所以:
(defun my-func ()
"Do stuff..."
(interactive)
(read-from-minibuffer "Regexp? " (first query-replace-defaults)))
是一个命令,该命令抛出提示符,最后输入的regexp为默认值。
关于Emacs Elisp动态交互式提示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/754327/