2014-05-15 63 views
0

我正在通過一個很大的代碼庫進行搜索,發現vimgrep的速度太慢,所以我在vim中使用了:grep,它顯示了一個文件列表,然後表示Press ENTER or type command to continue如何打開quickfix窗口而不是顯示grep結果?

我按Enter之後,我可以輸入:copen來查看結果列表。但我想知道我是否可以自動化這個過程?將-q標誌添加到grep似乎有導致grep什麼都不做的效果,然後copen是空白的,除非我在這裏做錯了什麼,這不是真的需要。這將打開只有當它是不是quickfix列表

command! -bar -nargs=1 Grep silent grep <q-args> | redraw! | cw 

這將允許你這樣稱呼它Grep pattern,並:cw

我使用vim 7.4

回答

1

你可以定義這樣的命令空。

+0

當我運行'grep的「模式」'我只是得到'E471:參數required' – arman

+0

你不需要引號,如果你必須,然後使用單引號''' –

+0

我喜歡這樣跳過「按回車」消息。出於某種原因,它不喜歡'|'在這裏(我得到了'E488:尾隨字符:cw/dev/null'),所以我不得不調整它:'命令! -bar -nargs = 1 grep無聲執行「grep 」|重繪! | cw'原因可能是我的'grepprg = grep -n $ */dev/null' – joeytwiddle

1

使用自動命令。這裏是:Ggrepsuggested by Tim Pope。它會爲你的工作情況,以及:

autocmd QuickFixCmdPost *grep* cwindow 

欲瞭解更多信息,請參閱:

:h :au 
:h QuickFixCmdPost 
:h :cwindow 
相關問題