上記の記事の続き。
Uniteプラグインと、以下のUnite source をインストールすれば、以下のソースコードで、gmilk コマンドの実行結果を Unite インターフェースで表示してくれます。
必要なプラグインのインストール
(neobundle.vim のインストール方法は省略します)
.vimrc
NeoBundle 'Shougo/unite.vim'
NeoBundle 'sgur/unite-qf'
:NeoBundleInstall
ソースコード
.vimrc にでも記述してください。
" gmilk コマンドの結果をUnite qf で表示する
command! -nargs=1 Gmilk call s:Gmilk("gmilk -a -n 200", <f-args>)
function! s:Gmilk(cmd, arg)
silent execute "cgetexpr system(\"" . a:cmd . " ". a:arg . "\")"
if len(getqflist()) == 0
echohl WarningMsg
echomsg "No match found."
echohl None
else
execute "Unite -auto-preview qf"
redraw!
endif
endfunction
実行例
:Gmilk [検索語句]
実行結果
p
キーで該当ソースのプレビューができるのですごく便利!
追記
-auto-preview オプションを追加したので、 p
キーを押す必要なくなりました。