Vim Taglist:如何从开源文件中跳转到标签定义

Posted

技术标签:

【中文标题】Vim Taglist:如何从开源文件中跳转到标签定义【英文标题】:Vim Taglist: How to jump to a tag definition from within an open source file 【发布时间】:2012-12-05 09:50:40 【问题描述】:

如果我不能从开源文件中跳转到标签定义,我想知道 Vim Taglist 有什么用处。为了能够使用Ctrl+],我是否必须通过运行ctags *.f90 来生成单独的标签文件?

【问题讨论】:

【参考方案1】:

是的,您需要一个标签数据库(通常通过运行ctags 或等效的外部工具创建)来使用Vim 的标签跳转/搜索功能。

由于 Vim 是通用文本编辑器,它不具备任何有关个别语言的知识,而是将其委托给外部资源(本着 Unix 的 做好一件事 的真正精神) .

PS:有像easytags.vim 这样的插件可以自动生成和更新标签。

【讨论】:

谢谢。因此,taglist 只是对仍然需要的 `:!ctags *' 调用的补充(手动或通过 easytags 自动调用)?我还不清楚 taglist 的实际用途。 taglist 到底是什么意思? :tag... 命令,还是 taglist 插件(应该自动调用 ctags)?! 确实,vim-taglist 会调用 ctags,但不会保留 Control+] 工作所必需的标签文件。 是的,你现在明白了! romainl 在他的好回答中也详细说明了这一点。 再次感谢您,特别是easytags 指针。我将同时使用它们,vim-taglist 和 easytags。【参考方案2】:

你在说什么taglist

我知道的唯一taglist是:

taglist() 函数 (:h taglist()),对你(或我)的日常 Vim 使用毫无用处,

和TagList 插件。

您指的是:tag 系列命令吗?

<C-]>:tagtags 文件一起使用以跳转到变量或方法或其他任何东西的声明。如果您没有tags 文件,<C-]> 根本无法工作。

TagList 插件在后台使用ctags 来构建文件中存在的元素的可操作列表,但它不使用tags 文件:ctags 命令的结果是直接消费。

这意味着您可以同时完美地拥有一个工作的 TagList 插件和一个不工作的<C-]>(以及:tag:tselect 等……)。这些是单独的功能。

【讨论】:

以上是关于Vim Taglist:如何从开源文件中跳转到标签定义的主要内容,如果未能解决你的问题,请参考以下文章

Vim作为笔记平台:在垂直分割窗口中跳转到标记

如何在 Vim 上使用 C-] 和 taglist

如何从一个activity中跳转到一个fragment

如何从微信浏览器中跳转到APP指定页面

如何从微信浏览器中跳转到APP指定页面?

VHDL标签在使用ctags + taglist的vim中效率不高