如何在 Vim 上使用 C-] 和 taglist
Posted
技术标签:
【中文标题】如何在 Vim 上使用 C-] 和 taglist【英文标题】:how to be able to use C-] with taglist on Vim 【发布时间】:2012-08-16 09:22:45 【问题描述】:我在 windows 上有 gVim 7.3 和 taglist 和 ctags 5.8。 Taglist 运行良好(无需自己生成标签文件),我可以在标签窗口中看到当前缓冲区的标签并转到其中任何一个等。
但我知道我应该可以在编辑器中使用C-]
也可以转到光标下的声明,这不起作用,它一直在说
E433: No tags file
E426: tag not found: myMethod **strong text**
我应该怎么做才能使用C-]
【问题讨论】:
您可能想要使用插件索引器:goo.gl/kixRn。它为整个项目提供了无痛的自动标签生成,并使标签保持最新。查看我的另一个答案以了解一些详细信息:goo.gl/pG9OP 感谢 Dmitry,我一定会尝试的! 【参考方案1】:TagList 是一个完全独立于 Vim 的<C-]>
和相关命令的第三方插件。因为它不生成tags
文件,甚至不使用tags
文件,所以它在自己的气泡中运行。
<C-]>
是一个本机 Vim 命令,它使用 tags
文件,您需要使用类似 :!ctags -R .
的命令生成该文件,并且您必须确保 Vim 知道该文件。
【讨论】:
明白,谢谢。所以现在的问题是,有没有办法调整 taglist 以使用 C-]? TagList 提供文件中存在的符号列表(使用ctags
生成),您可以使用<CR>
或鼠标单击在代码中导航。 <C-]>
与 TagList 插件完全无关,用于跳转到光标下符号的定义处。在 TagList 窗口中使用 <C-]>
没有意义,因为没有代码,因此没有符号,也没有理由在那里使用 ctags
和 <C-]>
。
用 TagList 扩展标准 vims 标签?所以我可以在窗口中通过<cr>
和<c-]>
进行导航,同时光标在功能上?
@FelikZ,如果您同时运行标签文件 和 TagList,那么您可以 两者都做。向 TagList 的作者询问该功能。【参考方案2】:
你的错误信息意味着你需要告诉 VIM 你的标签文件在哪里。 试试
set tags="your file name"
您可以指定多个文件名,使用逗号作为分隔符
顺便说一句,C-] 的另一种替代方法是 g-]。它不会立即跳转,而是显示不同匹配项的列表。
【讨论】:
但我认为 taglist 插件不需要创建标签文件...它是动态创建的,我可以很好地导航到 taglist 窗口中的定义。 对不起。我太快了。我不使用那个插件,但我检查了文档,它有一个常见问题解答部分,其中包含一些故障排除。以上是关于如何在 Vim 上使用 C-] 和 taglist的主要内容,如果未能解决你的问题,请参考以下文章
Vim ctags:我们可以在不关闭 taglist 窗口的情况下在 taglist 窗口和源代码窗口之间切换焦点吗?