我非常喜欢与grep合作,因为它具有强大的工作和可定制性。
:vimgrep
对我来说太慢了,grep没有--include
(或--exclude
)。此外,我使用至少8种文件类型,--include
是一个巨大的帮手。
我的问题是:
:grep "ILookForThat" **/*.{c,h}*
只搜索一个目录深度,而我至少需要四个。
:grep -R "ILookForThat" --include=*.{c,h}*
不起作用(与"*.{c,h}*"
相同)
我寻找的是答案:如何使grep
(不是vimgrep
,ag
或其他任何方式工作,或者可能会有一些答案:"这绝对是应该工作"。
我可以补充一点,我使用64位Ubuntu 16.04 LTS,删除了grep的别名。 当然,没有快速清单的答案是不可接受的。
答案 0 :(得分:2)
经过一些快速测试后,我认为这应该适合你,但它有点冗长:
:grep -r --include="*.c" --include="*.h" "ILookForThat" .
如果它过于冗长而无法使用,您可以考虑将其包装在自定义:command
中。
答案 1 :(得分:2)
:grep -r --include=*.{c,h}* ILookForThat .
一切都按设计工作,但是从vim中使用的grep必须有一个以点字符表示的起点。