11

elisp 関数から動的プロンプトを表示しようとしています。最後に入力した正規表現を表示する replace-regexp のようなものが必要です。(interactive (concat "sab" "bab"))) 試してみましたが、うまくいきません!

フォーマットのようなメッセージも試しました (interactive "s %s" last-used-regexp)

そしてそれはうまくいきません!誰でもこれを行う方法を知っていますか?

ありがとうございました!

4

2 に答える 2

15

M-x find-functionあなたの友達です。ソースコードを表示することで、emacs でどのように動作するかがわかります。それを使用すると、最後に使用された正規表現から作成されたプロンプトを使用して、どの呼び出しがどの呼び出しを呼び出すかがわかります。これは、ドット ペアに保存さquery-regexp-replaceれます。query-replace-read-argsquery-replace-read-fromread-from-minibufferquery-replace-defaults

そう:

(defun my-func ()
  "Do stuff..."
  (interactive)
  (read-from-minibuffer "Regexp? " (first query-replace-defaults)))

最後に入力された正規表現をデフォルトとしてプロンプトを表示するコマンドです。

于 2009-04-16T01:42:50.613 に答える