標準パッケージ ffap は、C-x C-fなどをカイゼンします。
カーソル位置のファイル名をデフォルトにしてくれますし、
URLを指定すれば browse-url でブラウザで開いてくれます。
かなり有名な機能なのでご存じの方が多いでしょうけど、
もし知らないのであれば今すぐ設定すれば幸せになれます。
さらに驚くべき機能を発見しました!
それは、変数 ffap-pass-wildcards-to-dired を設定し
C-x C-fの後にワイルドカードを指定すれば
ワイルドカードにマッチするファイルをdiredで示してくれるのです!!
ただ、これだけでは不十分でワイルドカード「?」を入力しよとすると
補完候補が表示されてしまうので、 minibuffer-local-filename-completion-map
の設定も必要となります。
これで C-x C-f が C-x d の機能も含むようになりました。
;;; ファイル名補完キーマップで?をそのまま入力できるようにする
(define-key minibuffer-local-filename-completion-map (kbd "?") nil)
;;; ffapでワイルドカードを指定するとdiredを開くようにする
(setq ffap-pass-wildcards-to-dired t)
;;; C-x C-fなどをffap関係のコマンドに割り当てる
(ffap-bindings)
以前からC-x C-fでdiredを開きたくて
そのことを知らずに手元に10行のコードを書きましたが、
あっさり捨ててffapに回帰することにしました。
elispに慣れているのでその程度ならば調べるよりもコードを書く方が早いのですが
標準機能とはいえ馬鹿になりませんね。
自分もまだまだです。
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。