转到文件(gf)优先目录而不是文件名

goto-file (gf) prioritize directory instead of filename

我正在尝试配置 gf 以在光标下打开文件。
它总是有效...几乎。
不幸的是,当光标下的文本有一个相应的目录时,我发现了一个问题。在这种情况下,netrw 插件被打开。
让我举一个例子。我在这段代码中:

    [...], MyObject myobject, [...]

我结束了MyObject然后按gf。 不幸的是我在一个文件夹中:

    myobject       <-- a directory
    MyObject.java  <-- the file to open

netrw 已激活。

我试图检查文档以进行一些修改(suffixesadd,...),但可能我不知道如何正确地进行操作。

我找到了 this answer,但我认为它有点不同,因为在那种情况下,文本和目录的匹配是唯一的第一个,它是完美的。

有什么帮助吗?
P.S。我想做的是创建一个小的 vim 插件,可用于导航基于 Maven 的 Java 项目(称为 vim-java-maven)。 仅供学习VIM.

尽管听起来很傻,Vim 将目录视为有效目标,所以……

  • :help 'suffixesadd' 没有帮助,因为目录名称完全匹配,
  • :help 'includeexpr',只有在没有匹配时才调用,因为有匹配所以不会调用。

该行为是硬编码的,无法在运行时影响它。唯一的解决方案是编写自己的 Gf() 来更明智地处理目录并将其映射到 gf.