为什么他们使用双星号?
我已经阅读了 Vim 的帮助vimgrep
,查看了有关堆栈溢出和 vimcast 的内容,虽然我发现很多人说这是您在当前目录中递归搜索的方式,但我还没有找到关于为什么的解释。
让我们用一个例子来更容易解释。如果我想在当前目录下查找所有出现的 foo ,我可以使用
:vim[grep][!] /{pattern}/[g][j] {file}
这样就变成了
:vimgrep /foo/ **/*
所以看看{file}
这个 grep 的部分:
- 我知道这是一个文件路径。
- 我知道星号 (
*
) 是通配符。 - 我知道正斜杠充当目录分隔符。
我的具体问题是为什么它的格式为
**/*
并不是
*/*
我尝试在几种不同的情况下使用/进行搜索,这似乎搜索了距当前目录正好 1 深的任何目录中的任何文件,我认为这就是使用双星号的原因。
ie 为什么是双星号?这是否通过一些我不完全理解的聪明机制表明“我希望你递归搜索”,或者这只是一个用来表示“递归搜索”的关键字?我完全关闭了吗,这不是 vim 的内置部分,而是 shell 的一部分?(这些部分不是我的实际问题,而是帮助理解我的困惑,我的实际问题在上面)。
如果有什么方法可以改善我的问题,请告诉我,这是我第一次问。