我有一个文件,例如a.pl具有此方法调用:
add_location(@crew);
实际定义在同一个文件中。如果我这样做:CTRL + ]光标跳到定义。如果我这样做:gf我得到:
E447: Can't find file "add_location" in path
如果我:pwd得到当前工作目录。投诉的内容是什么?函数定义在同一个文件中。

最佳答案

<C-]>命令转到光标下的标记;您似乎有一个有效的标记数据库(即以前运行过ctags),并且有一个名为add_location的标记。
gf命令转到光标下的文件,即它将add_location视为文件名(可能会附加类似于.pl的后缀(请参见:help 'suffixesadd'),并在'path'指定的目录中搜索该文件。
所以,基本上,您对作业使用了错误的命令;<C-]>是正确的。注意,如果位置在同一个文件中,也可以使用*命令转到下一个匹配项;这对于没有标记数据库,因此无法使用更强大的<C-]>命令时非常有用。

09-16 17:51