当多个标签匹配时,如何跳转到正确的方法定义?

当多个标签匹配时,如何跳转到正确的方法定义?

我尝试通过以下方式生成标签文件:

ctags -R * −−java−kinds=+mc

但是当有多个匹配项时,ctrl+] 总是跳转到另一个类中错误的方法定义。

我知道如果有多个选项,我可以使用 :tjump 来选择。但我希望有更好的解决方案(如果有的话)?

答案1

在这种情况下,我建议使用g CTRL-]而不是CTRL-]。例如:tjump,这将列出所有可用的标签匹配并向您查询,而不是跳转到第一个。

要使其成为默认值,您可以使用此映射:

:nnoremap <C-]> g<C-]>

答案2

:tjumpctags 和 vim 都无法猜测正确的标签是什么,并且除了或之外没有其他办法可以解决这个问题:tselect:tag它有一个优先级机制,您可以在文档中阅读相关内容,但这仍然很愚蠢。

Cscope 稍微智能一些,但也不是那么智能。

在这种情况下,列出可能的目标供您选择是唯一明智和实用的方法。

相关内容