2016-05-13 17 views
0

我非常喜歡使用grep,因爲它具有強大的工作和可定製性。 :vimgrep對我來說太慢了,grep沒有--include(或者--exclude)。另外我至少使用8種文件類型,並且--include是一個巨大的幫手。grep in - 包含在可深度的項目中

我的問題是:

:grep "ILookForThat" **/*.{c,h}* 

搜索只有一個目錄深處,而我需要至少有四個。

:grep -R "ILookForThat" --include=*.{c,h}* 

不工作(同樣與"*.{c,h}*"

我尋找的是回答:如何讓grep(不vimgrepag,或其他任何東西)工作,或者一些答案,如: 「這絕對應該工作」。

我可以補充說我使用64位的Ubuntu 16.04 LTS,刪除了我的別名爲grep。 當然,沒有快速清單的答案是不能接受的。

回答

2

一些快速的測試後,我認爲這應該爲你工作,但它是一個有點冗長:

:grep -r --include="*.c" --include="*.h" "ILookForThat" . 

你可以考慮在自定義:command這個包裹如果它太冗長是有用的。

+0

這不是遞歸和通配符應該仍然工作,所以不應該分裂。最後這將是一個有趣的命令 - 因爲我需要至少在8個文件類型的5個配置。 我確實爲你的嘗試算上了恩師:) – pholat

+0

哎呀,我在回答中忘了-r。更新。 –

2

:grep -r --include=*.{c,h}* ILookForThat .
一切工作按設計,但是從Vim必須具有與字符表示的起點使用grep的。