我正在尝试让gf
使用如下所示的路径:
foo/bar.js
该文件位于此处:
/Users/dimal/dev/project/src/foo/bar.js
因此,我将
path
设置如下:set path+=/Users/dimal/dev/project/src
似乎
gf
应该找到文件,但找不到。E447: Can't find file "foo/bar.js" in path
为什么?
我尝试了其他变体:
/Users/dimal/dev/project/src/**
/Users/dimal/dev/project/src/**/*
最佳答案
gf命令通过:set path
在包括的路径中搜索文件。set path
命令接受类似于*
的通配符。 (*表示任何字符)因此,如果您想将所有文件包括在目录的子目录下,则可以
:set path+=directory/**
对于一个目录下的三个层次的深度,即要在当前目录的子目录的子目录的任何子目录下包含文件,您可以像
directory/**3
这样指定允许的最大深度为100。
像这样的命令
:set path+=/Users/dimal/dev/project/src/**3
还将允许您在
src/subdirectory/subdirectory/subdirectory
中搜索名为bar.js的文件,而不仅仅是在src/
中。关于Vim:无法正确设置 'path'来使 'gf'工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37472796/