gf命令的Vim问题

gf命令的Vim问题,vim,Vim,我正在使用并且已将路径(set path+=c:/work/etc/etc)设置到我的项目目录(对于c#),但仍在使用命令“gf”给我错误: E:447找不到文件 这里有什么我做错的吗?如果按gf,请确保文件名没有前导字符,即当光标位于help.txt上时,使用gf在这里不起作用: file=help.txt 首先,您可以使用:find file.name打开文件吗?(:有关详细信息,请帮助查找)。如果这不起作用,那么您的路径是错误的。如果:find找到了您的文件,请执行以下操作: 确保您未处

我正在使用并且已将路径(
set path+=c:/work/etc/etc
)设置到我的项目目录(对于c#),但仍在使用命令“gf”给我错误:

E:447找不到文件


这里有什么我做错的吗?

如果按
gf
,请确保文件名没有前导字符,即当光标位于help.txt上时,使用
gf
在这里不起作用:

file=help.txt

首先,您可以使用:find file.name打开文件吗?(:有关详细信息,请帮助查找)。如果这不起作用,那么您的路径是错误的。如果:find找到了您的文件,请执行以下操作:

  • 确保您未处于视觉/插入模式
  • 将光标放在文件名的第一个字母上,然后按gf
  • G'day

    要获得有关当前路径设置的更多详细信息,您可以通过输入命令查看包含的内容和vim无法找到的文件:

    :checkpath
    
    你会得到一堆找不到的文件,例如

    --- Included files not found in path --- 
    <io.h> 
    vim.h --> 
      <functions.h> 
      <clib/exec_protos.h>
    
    进入

    获取有关路径语法的更多信息

    编辑:不要忘记使用语法

    set path=/work
    
    将完全重置path变量为刚才声明的值。我建议使用

    set path+=/work
    
    相反。这不会破坏当前路径,只会添加/work目录

    我还发现

    :set path+=./foo/bar
    
    添加相对于当前文件目录的搜索位置,就像“.”一样

    我的vim不想搜索这样的包含

    #include <common/util/string.h>
    
    而不是

    :set path+=./foo/bar
    

    前者添加相对于当前工作目录的搜索路径。希望它能帮助别人。

    我知道这是一个老问题,但出于另一个原因,我也遇到了一些问题,我花了一些时间才找到原因。我希望这可能对某人有所帮助

    当目录与
    wildignore
    匹配时,
    gf
    不适用于其中的文件,也不适用于:find

    如果您阅读wildignore的文档,这是显而易见的,但我忘了我曾经更改过这个变量,以及它的确切用途。此外,我还使用了一个glob,我并不清楚我在其中使用gf的目录是否也与这个glob匹配。

    如果您正在谈论tomnomnom提供的
    gf
    工具wri††en,那么下面是如何设置: 设置GO的路径(如果尚未设置)

    第1步:从下载工具

    第二步:
    cp-r路径/to/tomnomnom/gf/examples~/.gf

    第三步:
    source~/tools/gf/gf completion.bash

    现在gf应该可以在任何地方自动完成。
    来源:原始来源存在于his

    当我尝试命令我的gfI尝试使用checkpath及其给我的消息“所有包含的文件均已找到”时,我总是遇到问题。是的,我使用set path+=mypath。谢谢
    #include <common/util/string.h>
    
    :set path+=foo/bar
    
    :set path+=./foo/bar
    
    export GOROOT=$HOME/go
    export PATH=$PATH:$GOROOT/bin