答案 0 :(得分:15)
天儿真好,
要获得有关当前路径设置的更多详细信息,您可以通过输入命令查看包含的内容以及vim无法找到的文件:
:checkpath
并且您将获得未找到的文件的转储,例如
--- Included files not found in path ---
<io.h>
vim.h -->
<functions.h>
<clib/exec_protos.h>
或者您可以输入
获取所有包含文件的列表,包括找到和未找到的文件:checkpath!
输入
:help path
获取有关路径语法的更多信息。
编辑:不要忘记使用语法
set path=/work
会将您的路径变量完全重置为您刚刚声明的内容。我建议使用
set path+=/work
代替。这不会破坏当前路径,而只会添加/ work目录。
HTH
答案 1 :(得分:6)
我也发现了
:set path+=./foo/bar
添加相对于当前文件目录的搜索位置,就像“。”一样。确实
我的vim不想搜索这样的包含
#include <common/util/string.h>
所以我需要做的是
:set path+=foo/bar
而不是
:set path+=./foo/bar
前者添加了相对于当前工作目录的搜索路径。希望它可以帮助某人。
答案 2 :(得分:3)
首先,您可以使用:find file.name 打开文件吗? (:帮助查找了解更多信息)。如果这不起作用那么你的路径是错误的。如果:查找确实找到了您的文件,请执行以下操作:
答案 3 :(得分:0)
如果按gf
,请确保文件名没有前导字符,即当光标位于help时,使用gf
将无效。
file=help.txt
答案 4 :(得分:0)
我知道这是一个古老的问题,但是由于另一个原因,我对此也遇到了一些麻烦,花了一些时间才找出原因。我希望这会对某人有所帮助。
当目录与wildignore
匹配时,gf
不适用于其中的文件,:find也不适用。
如果您阅读wildignore的文档,这是显而易见的,但是我忘记了我曾经更改过该变量及其确切含义。我还使用了一个glob,但对我来说,立即发现使用gf的目录也与此glob匹配。
答案 5 :(得分:-1)