goto-file (gf) 优先考虑目录而不是文件名

Six*_*xro 1 vim

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

    [...], MyObject myobject, [...]
Run Code Online (Sandbox Code Playgroud)

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

    myobject       <-- a directory
    MyObject.java  <-- the file to open
Run Code Online (Sandbox Code Playgroud)

netrw被激活。

我尝试检查文档以进行一些修补(suffixesadd,...),但可能我缺少如何正确执行此操作。

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

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

rom*_*inl 5

听起来很傻,Vim 将目录视为有效目标 so\xe2\x80\xa6

\n
    \n
  • :help 'suffixesadd'没有帮助,因为目录名称完全匹配,
  • \n
  • :help 'includeexpr',仅在不存在匹配时才被调用,因为存在匹配而不会被调用。
  • \n
\n

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

\n