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