VimFilerとUniteでIDEライクなディレクトリツリーを表示する

Vimにvimfiler.vimとunite.vimのプラグインを導入したので使い方をメモ。

VimFilerとUniteの用途

私はVimに出会うまではEclipseを使用しており、ウィンドウの左にプロジェクト単位でディレクトリがツリー表示されるユーザインタフェースに慣れてしまっていた。

Vimで同じことがしたい場合、VimFilerによるディレクトリのツリー表示とUniteのブックマーク機能を組み合わせることで実現することができる。VimFilerとUniteはどちらも同じ作者が作ったものなので、高度に連携することが出来る。

VimFilerによるファイル操作

:VimFilerコマンドを使用するとVimFilerによるファイラー機能を使うことができる。基本的な操作方法は以下のようになっている。

キー 説明
j,k カーソル移動
h,l ディレクトリ移動
e ファイルを開く
t ディレクトリをツリー表示

Uniteによるブックマーク機能

:VimFilerコマンドでファイラー機能を使用中にUniteの:UniteBookmarkAddコマンドを使用することでカレントディレクトリをブックマークに追加することができる。追加したブックマークを開きたい場合は:Unite bookmarkコマンドを使用する。開きたいブックマークをj,kで選択し、Enterで決定する。
 
注意点としては、:UniteBookmarkAddコマンドや:Unite bookmarkコマンドは:VimFilerコマンドを使用中に実行しないと動作しない点である。

いきなり:Unite bookmark出来るようにする

:Unite bookmarkでブックマークを開こうとする度に:VimFilerでVimFilerを起動するのは面倒なので、VimFilerを経由して:Unite bookmarkを使用できるようにする。
 
以下をvimrcに記述する。

call unite#custom_default_action('source/bookmark/directory' , 'vimfiler')

:VimFilerや:Unite bookmarkをキーマッピングしてショートカットする

:VimFiler:Unite bookmarkなどをいちいち打ち込むのは面倒なのでキーマッピングを使用してショートカットする。以下vimrcに記述する。

nnoremap <F10> :VimFiler nnoremap <F11> :UniteBookmarkAdd nnoremap <F12> :Unite bookmark

ノーマルモード中にF10キーで:VimFiler、F11キーで:UniteBookmarkAdd、F12キーで:Unite bookmarkのコマンドをそれぞれコマンドラインに表示することができる。

参考
vimfiler まとめ