背景
vimを利用していて、vim上で目的のファイルをファイル名で検索し、そのままvim上に開けるようにしたいと思った。
「ファイルの内容」を検索してヒットしたファイルを開きたいときはvimgrepを利用すればいい、ということは検索してすぐに見つかった。しかし「ファイル名」で検索する場合はすんなり見つからなかったのでメモを残しておく。
ctrlp.vimプラグイン
今回の目的はctrl.vimを使うと実現できるとわかった。
インストール
NeoBundle"ctrlpvim/ctrlp.vim"
基本的な使い方
vimを開いてCtrl+p
を押すとctrlp.vimが起動する。
例えば「model」と入力すると、該当するパスにヒットするファイルを絞り込むことができる。
この状態でEnter
を押せば、現在のウィンドウでそのファイルを開くことができる。
またCtrl+t
を押すと、新しいタブで開くことができる。
ファイルを開く必要がない場合はEsc
でctrlp.vimを終了する。
その他、便利なコマンドがいろいろあり、こちらの記事が見やすくまとまっている。
あいまい検索が便利
パスの検索はあいまいな検索で行うことができる。
上記の結果に続けて「post」と入力すると、以下のような状態になる。
入力した文字列がパスに含まれて入れば拾ってくれる。
なんとなくしか覚えていないファイルでも開けるのが便利。
ファイル一覧はctrlp.vim起動時に読み込まれる
検索対象になるファイル一覧は、ctrlp.vimを最初に起動した時に読み込まれる。
そのため、対象ファイルが多い場合には起動に時間がかかることに。
vim自体を起動し直した場合は、再度読み込みが発生する。
また、途中で新規にファイルを追加したときは検索対象になっていないため検索してもヒットしない。
その場合はctrlp.vimを起動中にF5
を押して再読み込みを行えばよい。
参考
ctrlpvim/ctrlp.vim: Active fork of kien/ctrlp.vim—Fuzzy file, buffer, mru, tag, etc finder.
https://github.com/ctrlpvim/ctrlp.vim
ctrlp.vimの使い方まとめ - Qiita
http://qiita.com/oahiroaki/items/d71337fb9d28303a54a8