以前こちらの記事で紹介した Milkode ですが、これをインストールすると、gmilk コマンドが使えるようになります。(コマンドライン版)
こんな感じで、登録してあるソースコードから、さくっと該当行を検索してきれくれます。
これは、ぜひVimから利用したい
Vim からこのコマンドを実行して、検索結果をQuickfixに表示してみたいなと思い、調べてみました。
ソースコード
.vimrc に以下のように書きます。
" gmilk コマンドの結果でQuickFixする
command! -nargs=1 Gmilk call s:Gmilk("gmilk -a -n 10", <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
cwindow
redraw!
endif
endfunction
gmilk コマンドの引数については、コマンドプロンプトから gmilk --help
で参照してください。
使い方
:Gmilk [検索したい語句]
実行例
あとがき
で、Quickfix ってどう使うんだっけ?(ぇ
Milkode と連携する Unite プラグインどこかに転がってないかしら・・・
本日覚えたコマンド
-
:cex[pr] {expr}
{expr}の結果を使ってQuickFixリストを作成する -
:sil[ent]
{command} を静かに実行します。メッセージは表示されず、メッセージ履歴にも残りません。 -
:exe[cute] {expr1}
{expr1}の評価結果の文字列をExコマンドとして実行する。 -
:cw[indow]
QuickFixウィンドウを開く