僕のYak Shavingは終わらない

車輪の再発明をやめたらそこには壮大なYakの群れが

あいまいなワードから簡単にファイルを探せるctrlpで指定したディレクトリを無視する

kien/ctrlp.vim · GitHub
Vimであいまいなワードを入力していくとカレンドディレクトリ以下のファイルをインクリメンタルサーチしてくれるプラグイン。

設定(インストールはお好きな方法で)

" ファイルを曖昧文字から探し出す
NeoBundle 'kien/ctrlp.vim.git'
let g:ctrlp_custom_ignore = {
  \ 'dir':  '\v[\/]\.?(extlib|git|hg|svn)$',
  \ }

無視するファイルにextlib他を追加しているだけですが、こんな感じでPerl(じゃなくても)の無駄なディレクトリへの検索がなくなります。
動作も速いです。

使い方は簡単でctrl+pして開きたいファイル名をなんとなく打ち込むだけです。
ディレクトリのTOPでやってしまうとファイル数が多すぎて遅すぎるので、自分のプロジェクトのディレクトリ内で実行してください。

DEMO

vimを開いてCtrl+p
f:id:kazuph1986:20130104134204j:plain
とりあえず幾つかのファイルが表示されます。

適当にwebと入力
f:id:kazuph1986:20130104134250j:plain
しぼりこまれましたね。

webpと入力すると
f:id:kazuph1986:20130104134446j:plain
普通ならweb.pとしないとマッチしないかと思いますが、Web.pmもマッチされたままです。

さらにwebpcとすると
f:id:kazuph1986:20130104134614j:plain
cの部分までマッチしていることがわかります。
どうやらパス名含めたファイル名に指定した文字が入っていればマッチするようですね(順序が違うとマッチせず)。

他のファイラだと**/*.pmと正規表現かまさないといけないとマッチしないと思いますが、これだとすごく簡単ですね。

ちなみにCtrl+j or Ctrl+kで上下移動してEnterで開きます。
その他詳しい操作方法は上のリンクのREADMEやdocを読んで下さいね。

(新年早々Vimしかいじってないなぁ…)