在使用 Vim 打开文件时,我几乎总是会像这样做:
:e subDir/**/file<ctrl-d>
在文档和我阅读过的基本上所有 StackOverflow/博客文章中,人们似乎都使用 "find" 而不是我使用的 "edit"。
如果我使用编辑命令而不是查找命令,我会错过什么?
在使用 Vim 打开文件时,我几乎总是会像这样做:
:e subDir/**/file<ctrl-d>
在文档和我阅读过的基本上所有 StackOverflow/博客文章中,人们似乎都使用 "find" 而不是我使用的 "edit"。
如果我使用编辑命令而不是查找命令,我会错过什么?
:edit
默认只能编辑工作目录下的文件:如果您需要编辑不在工作目录中的文件,则必须提供其绝对路径或相对于工作目录的路径。此外,您需要提供必要的glob。
:find
表面上与:edit
非常相似,但(很大的)区别在于它在path
选项指定的目录中查找文件。path
使:find
比:edit
更加有趣。
使用set path=,,
基本上可以获得与:e foo
相同的行为。
使用set path=**
基本上可以获得与:e **/foo
相同的行为,除了您不必使用任何glob。
使用set path=.,**
还可以访问与当前文件相同目录中的文件。
使用set path=.,**,/path/to/some/central/vendor/directory
还可以访问该目录中的文件……等等。
'path'
中添加 **
不是 'path'
的真正预期用法。'path'
的目的是指向您所“包含”的代码的根目录(例如Python模块,Java源依赖项,Vim插件包等)。然后,:find
就像 :edit
一样,只不过它使用多个搜索目录根,而不仅仅是工作目录。 - glts
find
命令,而:edit
命令只会以当前工作目录为根目录。 - FDinoff