同じ名前のファイル名を Emacs で開いている時のバッファー名を分かりやすくする: uniquify.el

同じ名前のファイル名を Emacs で開いていると、デフォルトでは hoge.txt<2> のような素気ないバッファー名がモードラインに表示されます。

このような表示だと、どのディレクトリのファイルかよく分からなくて困ります。

これをディレクトリ名を含めたバッファー名にしてくれるのが uniquify.elです。地味に便利なelispです。

uniquify.elを有効にした時のモードラインの例が下です。

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   name   name
  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 のページ

Adsense広告