おすすめの unite-source 教えてください

この記事は Vim Advent Calendar 2012 207日目の記事になります。



と、いう発言があったので、わたしが個人的によく使用している unite-source を上げてみたいと思います。
なお、内容がだいぶ偏っているのに加え unite-source には類似している source も多いので『これが一番!』というわけではありませぬ。

[まえがき]

unite-source とは unite.vim で使用される拡張モジュールです。
unite.vim は unite-source を使用して様々なデータを出力します。


unite-source は比較的簡単に作成する事が出来るため、多くの人が独自の unite-source を作成して公開しています。
既存の unite-source は下記の記事などでいくつか紹介されています。

[unite-file_mru]

unite.vim に標準で付属している unite-source です。
この unite-source は最近開かれたファイルの一覧を出力します。
わたしは基本的にこの unite-source を介してファイルを開いています。



また、この unite-source は、

:Unite file_mru:short

:Unite file_mru:long

の二種類が存在し、それぞれで保存している履歴の数が違います。
なので基本的には short の方を使用し、ちょっと昔のファイルを探したい場合は long を使用する、みたいに使い分ける事も出来ます。

[unite-output]

unite.vim に標準で付属している unite-source です。
これは Vim のコマンドの実行結果を unite.vim で出力します。

:Unite output:{コマンド名}
" e.g. :Unite output:message

 :message や :version など確認したい場合によく使用しています。


[unite-menu]

unite.vim に標準で付属している unite-source です。
よく開くファイルや使用頻度の高いコマンドなどを予め設定しておくことでランチャーのような機能として使用する事が出来ます。



これに関する詳しい設定方法などは

:help g:unite_source_menu_menus

を参照して下さい。
また、わたしはこのような設定をしています。

[unite-neobundle]

neobundle.vim に付属している unite-source です。
unite.vim を介して neobundle.vim に登録されているプラグインのインストールやアップデート、削除などを行う事が出来ます。



また、わたしは以下のような設定を行い、t から素早くプラグインディレクトリを vimfiler で開くような設定をしています。

call unite#custom#alias('directory', 'tabopen', 'tabvimfiler')

[unite-qfixhowm]


これは QFixHowm のメモ一覧を出力する unite-source です。
この unite-source は QFixHowm には付属していないため、別途プラグインを導入する必要があります。

NeoBundle "osyo-manga/unite-qfixhowm"



メモ系のプラグインはいくつか存在していますが、わたしはこの組み合わせを使用しています。

[unite-quickfix]

quickfix の情報を出力する unite-source です。

NeoBundle "osyo-manga/unite-quickfix"



類似するプラグインとして unite-qf があります。
unite-qf との違いはここら辺を参照して下さい。
わたしは shabadou.vim を使用して quickrun.vim の結果を unite-quickfix に出力しています。
quickrun.vim の設定方法はこちらの記事を参照して下さい。

[unite-quickrun_config]

quickrun.vim で定義されている config を unite.vim から変更するための unite-source です。

NeoBundle "osyo-manga/unite-quickrun_config"


例えば、JavaScript のような複数の実行環境がある場合にサッと切り換える事が出来ます。


[unite-reanimate]

これは reanimate.vim に付属している unite-source です。
reanimate.vim とは Vim の状態(GUI のウィンドウ位置や session 等)を名前を付けて保存しておき、後から復元を行うためのプラグインです。

NeoBundle "osyo-manga/vim-reanimate"


わたしは Vimプラグイン等を作る際に名前を付けて保存しておき、後から復元して開発を再開するような使い方をしています。



また、下記のように -c を付けて Vim を起動することで素早く状態を復元する事が出来ます。

" vim の起動直後に unite-reanimate を起動する
gvim.exe  -c ":Unite reanimate -default-action=reanimate_load"

[unite-outline]

ファイルの見出し一覧を出力する unite-source です。
元々は id:h1mesuke さんが作成されたプラグインなのですが、今は Shougo さんがメンテをしています。

NeoBundle "Shougo/unite-outline"



このようにソースコードで利用する事が出来ます。


と、いう感じで簡単にまとめてみました。
最初にも書きましたがあくまでも個人的によく使用する unite-source を上げたので上記の unite-source 以外にも便利な unite-source はたくさん存在します。
unite.vim をあまり使用していない人は一度どんな unite-source があるのか調べてみるのもいいと思います。
また、unite-source は比較的簡単に拡張して作成する事が出来るので、何か欲しい source があった場合は自分でつくってみるのもありだと思います。
と、いうかここで紹介した殆どが自作プラグインという巧妙なステマ


unite.vim を使用している方はこんな感じでよく使用している unite-source を VAC の記事としてまとめてみるのも面白いのではないでしょうか。