Emacs で C-x C-f
(find-file) でファイルを開く際には
SPC や TAB で補完が効きます。
これはこれで便利なのですが、深いディレクトリを開く際にはやっぱり手間がかかります。
しかし、頻繁に開くファイルがあるディレクトリはそう多くはないし、
異なるディレクトリだからと言って同じファイル名をつけることも少ないでしょう。
そこで、特定のディレクトリにあるファイルをあたかもカレントディレクトリにあるように扱えれば、便利だろうと考えたことはないでしょうか。
それをやってくれるのが smart-find.el です。
なお、私は使ってませんが、super-smart-find.el
というラッパーもあるようです。
インストールの仕方は簡単で、smart-find.el(c) を load-path上に置き、.emacs に
(load "smart-find")
(setq smart-find-file-path
'("~" "~/doc" "~/lisp" "~/tex/math" "~/tex/misc" "~/public_html"
"/usr/local/share/mule/19.34/etc"))
などのように書いておくだけです。smart-find-file-path には、良く使うファイルを置いてあるディレクトリのリストを並べておきます。
デフォルトでは、勝手に C-c C-f に smart-find-file が割り当てられます。
普通はこれで良いと思いますが、嫌なら .emacs に
(setq dont-bind-my-keys t)
などと書いておけば良いでしょう。で、C-c C-f でファイルを開くと、smart-find-file-path で指定したディレクトリのファイルについて補完してくれます。
もっとも補完の仕方には多少、不備があるので、あるはずなのに補完されないこともあります。 そういう時は面倒ですが、ファイル名として一意に決まるところまで入力してから補完するようにしましょう。 smart-find で探そうという場合には、ファイル名が分かっていることが多いでしょうから、この不具合は特に不便ではないはずです。