0

我有一个文件,例如a.pl有这个方法调用:

add_location(@crew);

实际定义在同一个文件中。如果我这样做:CTRL + ]光标跳转到定义。如果我这样做:gf我得到:
E447: Can't find file "add_location" in path

如果我这样做,:pwd我会得到当前的工作目录。投诉的途径是什么?函数定义在同一个文件中。

4

1 回答 1

6

<C-]>命令转到光标下的标签;您似乎有一个有效的标签数据库(即之前运行ctags过)并且有一个名为add_location.

gf命令转到光标下的文件,即,它被视为add_location文件名(可能附加一个后缀,如.pl(参见:help 'suffixesadd'),并在'path'.

所以,基本上,你使用了错误的命令来完成这项工作;<C-]>是正确的。请注意,如果该位置在同一个文件中,您还可以使用该*命令转到下一个匹配项;当您没有标签数据库因此无法使用更强大的<C-]>命令时,这很有用。

于 2013-05-19T20:10:01.553 回答