在 vim 中执行 gf 时摆脱字符

use*_*971 1 vim vi

vim用于编码。当我有类似以下内容时:
SomeModule->actualMethod()如果我将光标移到SomeModule并执行 agf我收到SomeModule-路径中不存在的投诉。
我怎样才能摆脱-这样的SomeModule文件打开?

Ing*_*kat 5

Vim 认为文件名的一部分是由'isfname'选项控制的。您需要从中删除破折号以使您的示例工作:

:set isfname-=-
Run Code Online (Sandbox Code Playgroud)

请注意,当您的SomeModule文件具有文件扩展名时,您还需要将其添加到'suffixesadd'.

  • `-=` 从 `isfname` 中删除以下字符串。参见`:help :set-=`。如果您希望从 `isfname` 中删除其他字符,请确保一次删除一个字符。也就是说,执行 `:set isfname-=-` 和 `:set isfname-=:`,_not_ `:set isfname-=-:`。仅当 `-:` 一起出现在 `isfname` 中并且以该顺序出现时,最后一个命令才会起作用。 (2认同)