同じ名前のファイル名を Emacs で開いていると、デフォルトでは hoge.txt<2> のような素気ないバッファー名がモードラインに表示されます。
このような表示だと、どのディレクトリのファイルかよく分からなくて困ります。
これをディレクトリ名を含めたバッファー名にしてくれるのが uniquify.elです。地味に便利なelispです。
uniquify.elを有効にした時のモードラインの例が下です。
uniquify.elはEmacsに含まれていますから、特にインストールする必要はありません。
uniquify.elを有効にするには以下の設定を~/.emacs.d/init.elに追加します:
(require 'uniquify) ;;(setq uniquify-buffer-name-style 'forward) (setq uniquify-buffer-name-style 'post-forward-angle-brackets) (setq uniquify-min-dir-content 2)
uniquify-buffer-name-styleはディレクトリの表示スタイルを指定します。5種類のスタイルが選べます。
forward bar/mumble/name quux/mumble/name reverse name\\mumble\\bar name\\mumble\\quux post-forward name|bar/mumble name|quux/mumble post-forward-angle-brackets namename nil name name<2>
- forwardはいわゆるPosix path スタイルでスラッシュでディレクトリを区切るものです。これだと、ファイル名は一番後(右側)になります。
- reverseはPosix pathの逆向きに表示するスタイルです。バックスラッシュですが、Windows系のパスの表示とは違いますね。 この場合はファイル名は一番前(左側)になります。
- post-forwardはファイル名が前に来て、その後に縦棒で区切ってディレクトリを表示するスタイルです。
- post-forward-angle-bracketsはファイル名が前に来て、その後ろにディレクトリを<>で囲うスタイルです。
- nilだと、uniquify.elを使わないデフォルトのスタイルです。
uniquify-min-dir-contentは、表示する親ディレクトリの深さを指定します。0だと表示しないようです。
(参考ページ) Emacs Wiki の uniquify のページ