Vimでデュアルgrep
:grepは多用するコマンドのひとつ。
:grep hoge % :copen
しかし、Quickfixウィンドウは1個しか持てないのが悩みの種。
もう一個開きたい。
もう一個検索したい。
そこで登場するのがロケーションリスト。ただ単に「l」をつければいい。
:lgrep moge % :lopen
lmakeなんかもあるので、grep結果を消したくない時には役立つかも。
copen,lopenは面倒なので、tips/66 - VimWiki辺りからスクリプトを貰ってこよう。
改造版
tips/99 - VimWikiのアイディアを取り込みつつ、lgrepにも対応してみました。
aug Quickfix au! au QuickfixCmdPost make,grep,grepadd,vimgrep call <SID>PostQuickfixCmd() au QuickfixCmdPost lmake,lgrep,lgrepadd,lvimgrep call <SID>PostLocationCmd() aug END function! s:PostQuickfixCmd() if len(getqflist()) > 0 cw else cclose endif endfunction function! s:PostLocationCmd() if len(getloclist(winnr())) > 0 lw else lclose endif endfunction
メモ:getloclist(winnr())と使うみたい。