約1年位Vimでnerdtreeを使ってきたんだけど、そろそろ別のも使ってみたいと思ったのでctrlpを試してみることにする。

ちなみにnerdtreeはディレクトリのツリーが常に表示されてる分、幅が狭くて辛い時があった。

インストール

NeoBundle 'ctrlpvim/ctrlp.vim'

起動

<c-p>

適当にファイル名とか入力すれば絞り込んでくれる。

Help

:help ctrlp-mappings

これ見とけばOK

キー

key action
<c-d> フルパス検索モードとファイル名検索モード(>d>)の切り替え
<c-r> 文字列検索モードと正規表現検索モード(r>>)の切り替え
<c-f>, <c-b> 検索対象の切り替え(files, mru files, buffer)
<s-tab> match-windowとpromptのfocus切り替え(match-windowに切り替える意味がイマイチわからない)
<c-c>, <esc> ctrlpの終了
<cr> curren windowで開く
<c-x> horizonal splitで開く
<c-v> vertical splitで開く
<c-z> markする
<c-o> ダイアログ付きで開く(markしているのがあれb一気に開く)
<c-y> 新規ファイル作成

ファイル検索にagを使う

agのインストール

brew install ag

ag.vimの設定

NeoBundle 'rking/ag.vim'

if executable('ag')
  let g:ctrlp_use_caching=0
  let g:ctrlp_user_command='ag %s -i --nocolor --nogroup -g ""'
endif

はやい。

参考

次はag.vim、quickfixあたりの使い方整理してまとめたいな!