在Vim中浏览文件系统 -> :find vs. :edit

7

在使用 Vim 打开文件时,我几乎总是会像这样做:

:e subDir/**/file<ctrl-d>

在文档和我阅读过的基本上所有 StackOverflow/博客文章中,人们似乎都使用 "find" 而不是我使用的 "edit"。

如果我使用编辑命令而不是查找命令,我会错过什么?


6
在vim中查找路径可以使用find命令,而:edit命令只会以当前工作目录为根目录。 - FDinoff
1个回答

10

: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还可以访问该目录中的文件……等等。


6
值得注意的是,在'path'中添加 ** 不是 'path' 的真正预期用法。'path' 的目的是指向您所“包含”的代码的根目录(例如Python模块,Java源依赖项,Vim插件包等)。然后,:find 就像 :edit 一样,只不过它使用多个搜索目录根,而不仅仅是工作目录。 - glts

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接