0

ミニバッファーから最初の提案を自動的に受け入れる方法を見つけようとしています。

(defun find-file-at-point-without-prompt ()
(interactive )
(find-file-at-point)
)

呼び出すと、プロンプト " Find file or URL: ......" が表示されます。自動「はい」が欲しいだけです。

引数の受け渡しは機能しません。他のケースでも興味深いかもしれません。以前は、find-file-at-point に続いて RET を呼び出すだけのマクロを使用していました。

4

1 に答える 1

1

プロンプトを自動的に受け入れる変数がないようです。

ffap-read-file-or-urlプロンプトを実行している部分を削除することで、関数を再定義できます。こんな感じで残っています

(defun ffap-read-file-or-url (prompt guess)
  "Read file or URL from minibuffer, with PROMPT and initial GUESS."
  (or guess (setq guess default-directory))
  (let (dir)
    ;; Tricky: guess may have or be a local directory, like "w3/w3.elc"
    ;; or "w3/" or "../el/ffap.el" or "../../../"
    (or (ffap-url-p guess)
    (progn
      (or (ffap-file-remote-p guess)
          (setq guess
            (abbreviate-file-name (expand-file-name guess))
            ))
      (setq dir (file-name-directory guess))))
    ;; Do file substitution like (interactive "F"), suggested by MCOOK.
    (or (ffap-url-p guess) (setq guess (substitute-in-file-name guess)))
    ;; Should not do it on url's, where $ is a common (VMS?) character.
    ;; Note: upcoming url.el package ought to handle this automatically.
    guess))
于 2012-10-20T10:39:44.940 に答える