我正在尝试从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/

10-09 23:41
查看更多