0

在我使用 :Explore 导航到我的项目目录时,我按“c”将其设置为当前目录。我有set path=.,,我的.vimrc,然后我使用:

:lvim pattern ./**/*

在文件中查找模式。这确实有效,但我必须输入./**/*而不是仅仅**.rb例如。有没有path我可以用来避免这样做的设置?

另外,我在一个根本无法使用插件的环境中工作。(另外我宁愿使用 vim 简单明了)谢谢!

4

1 回答 1

1

:lvim, :lgrep,:vim并且:grep不要使用该path选项:默认情况下,它们从当前目录工作,如果您使用,则从当前文件的目录工作,./或者如果您使用绝对路径,则从任何任意目录工作。

的值path没有任何作用:它用于其他不相关的命令。

:lvim pattern ./*.rb

pattern将在当前文件目录下的每个 Ruby 文件中进行搜索。

:lvim pattern *.rb

pattern将在当前目录下的每个 Ruby 文件中进行搜索。

当前目录当前文件所在目录可能相同也可能不同。如果当前目录和当前文件的目录相同,则上面的两个命令应该具有相同的结果,但是如果它们不同,这两个命令可能会产生非常不同的结果,因此请确保您能够分辨出差异。

如果要在当前目录中搜索,请使用:

*.rb

如果要在当前目录中递归搜索,请使用:

**/*.rb

如果要在当前文件的目录中搜索,请使用:

./*.rb

如果要在当前文件的目录中递归搜索,请使用:

./**/*.rb

由于您已使用 netrw's 更改了当前目录c,因此假设您希望该目录成为搜索的基础似乎是合乎逻辑的。因此,正确的命令是:

:lvim pattern **/*.rb
于 2013-09-13T15:39:08.990 回答