読者です 読者をやめる 読者になる 読者になる

file_mruが呼び出せずエラーになったのでunite.vimを再設定

vimを使っていてunite.vimマッピングしてあったコマンドを押したらエラーが出たので調べてみた。
結論としてはfile_mruというsourceがuniteから分離されていたため、プラグイン全体をupdateした際にfile_mruを処理できなくなってしまってエラーとなっていた。

なので.vimrcに以下を追加してNeoBundleInstall

NeoBundle 'Shougo/neomru.vim'

これで正常に動作するようになった



uniteは以前入れてあったものの最近あまり使っていなかったので、設定を行なってもう少し使ってみることにした。
マニュアルやこちらのサイトを参考に以下のような設定を入れた
http://mba-hack.blogspot.jp/2013/03/unitevim.html

.vimrc

NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/neomru.vim'
" unite prefix key
nnoremap [unite] <Nop>
nmap <Leader>f [unite]
" mappings
nnoremap [unite]b :<C-u>Unite<Space>buffer<CR>
nnoremap [unite]f :<C-u>Unite<Space>file<CR>
nnoremap [unite]m :<C-u>Unite<Space>file_mru<CR>
nnoremap [unite]a :<C-u>Unite buffer file file_mru bookmark<CR>
nnoremap [unite]r :<C-u>Unite<Space>register<CR>
nnoremap [unite]R :<C-u>UniteResume<CR>

let g:unite_source_grep_max_candidates = 200

if executable('ag')
    " Use ag in unite grep source.
    let g:unite_source_grep_command = 'ag'
    let g:unite_source_grep_recursive_opt = 'HRn'
    let g:unite_source_grep_default_opts =
    \ '--line-numbers --nocolor --nogroup --hidden --ignore ' .
    \  '''.hg'' --ignore ''.svn'' --ignore ''.git'' --ignore ''.bzr'''
endif

unite用のprefixキーとしてfを設定してそれに続けて各機能を呼び出すキーをマッピング
はスペースに設定してあるので押しやすくてよい

ちなみに↑で設定したuniteの機能は以下のような感じ
Unite buffer:現在のバッファ一覧表示
Unite file :カレントディレクトリの一覧表示
Unite file_mru:最近開いたファイルの一覧表示
Unite register:各レジスタに入っている値一覧表示
UniteResume:直前に開いていたuniteのバッファを再表示

agの部分についてはUnite grepで起動する検索にagを用いるという設定+デフォルトのオプションなど


バッファがたくさん開いている場合など移動が大変なときがあるので上記のように簡単に一覧が開けると便利。また、レジスタの値の一覧にもアクセスしやすいので確認に便利。その他にもいろいろ開けるようなので詳細はマニュアルを。