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-]>
和:tag
与tags
文件一起使用以跳转到变量或方法或其他任何东西的声明。如果您没有tags
文件,<C-]>
根本无法工作。
TagList 插件在后台使用ctags
来构建文件中存在的元素的可操作列表,但它不使用tags
文件:ctags
命令的结果是直接消费。
这意味着您可以同时完美地拥有一个工作的 TagList 插件和一个不工作的<C-]>
(以及:tag
、:tselect
等……)。这些是单独的功能。
【讨论】:
以上是关于Vim Taglist:如何从开源文件中跳转到标签定义的主要内容,如果未能解决你的问题,请参考以下文章