basyura's blog

あしたになったらほんきだす。

unite.vim でファイル名とディレクトリを分けるフィルタを適用する

f:id:basyura:20130509083142p:plain

basyura/unite-converter-file-directory · GitHub

:Unite file_mru をしているところ。以前は file_mru では特殊な処理をしているので filter が適用されないという話でしたが、いつのまにか使えるようになった模様。

デフォルト

f:id:basyura:20130509083430p:plain

常に右端を見ればいいのだけど、まずはファイル名で判定したいので視点移動が割と辛い。

第二形態

f:id:basyura:20130509083435p:plain

basyura/unite-converter-file-directory · GitHub をインストール。

vimrc には以下を記述。

call unite#custom_filters('file_mru',
      \ ['matcher_file_name', 'sorter_default', 'converter_file_directory'])

matcher も独自だった。ファイル名だけで判定する matcher。basyura/unite-matcher-file-name · GitHub

filter でファイル名を先頭に持ってきて、ディレクトリ名は後ろへ。絞り込みはファイル名で。
だいぶ見やすくなったけど、同じファイル名が続くと辛い。たとえば同じ「tweetvim.vim」でも、syntax なのか、autoload なのか plugin なのかそれ以外なのか分からない。分からない場合は視点を右に移動してディレクトリを確認しないといけない。
このひと手間が割と辛い。

第三形態

f:id:basyura:20130509083142p:plain

ファイル名の後ろにディレクトリ名をカッコ付で表示するようにしてみた。これだと分かりやすい。
加えて、ファイル名をまず見たいのであってカッコのディレクトリは補足情報であるからあまり強調したくない。
カッコは通常であれば時間を表示する syntax に当てられているのでこれを使って darkgray を設定。

いい感じになりました。