2011-04-19 34 views
6

因此,擺弄EasyGrep.vim插件,試圖讓它進入一個適合我的狀態。 我正在使用它進行Rails項目的遞歸搜索。伊夫幾乎得到了它,我怎麼想的那樣,這是grep命令我修改EasyGrep執行的例子:防止vim grep打開第一個匹配文件

:grep -R -i --include=*.rb --include=*.rbw --include=*.gem --include=*.gemspec --include=[rR]akefile --include=*.erb --include=*.rhtml SEARCH_WORD . 

其中找到光標下的單詞,並打開快捷列表的搜索結果。

唯一的問題是,:grep的似乎自動打開一個包含第一場比賽到當前緩衝區,這是我希望它做的文件,因爲那時我輸了,我只是看文件。

任何人都知道我可以如何防止這種行爲?或者,至少有一個哈克解決方法,重新打開我正在搜索的文件?

:vimgrep不是一個選項 - 它太慢了。

回答

17

:help :grep

Just like ":make", but use 'grepprg' instead of 'makeprg' and 'grepformat' instead of 'errorformat'.

:help :make

If [!] is not given the first error is jumped to.

所以::grep!

+1

至於「一個hacky解決方法」(在這裏沒有必要,但可能仍然對你有用),':help CTRL- ^' – 2011-04-19 23:29:52

+0

legend!我認爲id已經嘗試過(; grep!),但顯然當時還有其他事情發生,因爲現在它起作用了! – dalyons 2011-04-20 05:16:23

+4

我建議不要在vim幫助文本中粘貼。這首歌是一個很好的例子,它可能是無益的。如果他們不知道如何製作作品,那麼從make中定義grep並不能幫助他人。 :grep的!將是一個簡單而完整的答案。雖然我不得不同意OP,但它有點過分。有時候很簡單:grep不會打開第一個錯誤。哦,而且超級混淆,他們被稱爲「錯誤」而不是「匹配」。 – Milimetric 2012-10-25 13:55:44

0

添加到您的.vimrc:

let g:EasyGrepOpenWindowOnMatch=0 

EasyGrep具有可以控制它的行爲的許多選項。請輸入:GrepOptions以獲取所有這些列表。