Hatena::ブログ(Diary)

Alone Like a Rhinoceros Horn

2011-09-18

unite.vim の file_rec でプロジェクトのファイルを一望する

unite.vim 使ってる人はみんな似たことやってるんじゃないかと思いつつ……

現在編集中のファイルが所属するプロジェクトのトップディレクトリ*1を起点に unite.vim で file_rec する設定。([unite] は unite.vim に割り当てている prefix)

これで、[unite]p とやると、プロジェクトのファイル一覧がずらずらと出てきます。後はキーを二三叩いて unite.vim おなじみの絞り込みを行えば、瞬時に目的のファイルを選択できます。

nnoremap <silent> [unite]p :<C-u>call <SID>unite_project('-start-insert')<CR>

function! s:unite_project(...)
  let opts = (a:0 ? join(a:000, ' ') : '')
  let dir = unite#util#path2project_directory(expand('%'))
  execute 'Unite' opts 'file_rec:' . dir
endfunction

これがあればはっきり言って project.vim なんぞいらないです。

*1:.git があったり Makefile があったり、configure があったりするディレクトリのことです。