Tagbar:Vim 的类大纲查看器
Tagbar 是什么
Tagbar 是一个 Vim 插件,它提供了一种简单的方法来浏览当前文件的标签并概览其结构。它通过创建一个侧边栏来实现这一功能,该侧边栏显示由 ctags 生成的当前文件的标签,并按其作用域排序。这意味着,例如,C++ 中的方法会显示在它们所定义的类下面。
Tagbar 不是什么
Tagbar 不是一个用于管理 tags
文件的通用工具。它只在内存中即时创建所需的标签,而不会创建任何文件。tags
文件管理由其他插件提供,例如 gutentags。
依赖
-
一个 ctags 实现:我们强烈推荐使用任何版本的 Universal Ctags。它是 Exuberant Ctags 的一个维护分支,修复了许多错误,支持更多格式,并提供了适当的 Unicode 支持。
Exuberant Ctags 5.5 或更高版本在某种程度上可以工作,但最终将被弃用。
安装
将存档解压或克隆仓库到你的 'runtimepath'
中的一个目录,或使用你选择的插件管理器,如 pathogen。如果你的插件管理器没有自动运行 :helptags
,别忘了手动运行,这样你就可以通过 :help tagbar
访问文档。
如果 ctags 可执行文件没有安装在你的 $PATH
环境变量中的某个目录,你需要设置 g:tagbar_ctags_bin
变量,更多信息请参阅文档。
快速开始
在你的 ~/.vimrc 中添加类似以下的内容:
nmap <F8> :TagbarToggle<CR>
这样设置后,F8 键将切换 Tagbar 窗口。当然,你可以使用任何你想要的快捷键。关于更灵活的打开和关闭窗口的方法(以及其他功能),请使用 :help tagbar
查看文档。
支持额外的文件类型
对于 Exuberant Ctags 不支持的文件类型,请查看维基,看看其他项目是否提供支持以及如何使用它们。请添加你发现或自己创建的任何其他项目/配置,这样其他人也可以从中受益。
注意:如果文件结构显示错误
如果你注意到 Tagbar 显示的文件结构有一些错误,在报告问题之前,请确保这个错误确实是 Tagbar 的问题。由于 Tagbar 使用 exuberant-ctags 和兼容程序来进行实际的文件解析,很可能这个错误实际上是负责该文件类型的程序的问题。
在 :h tagbar-issues
中有一个例子,说明如何手动运行 ctags,这样你就可以确定错误实际出在哪里。如果错误确实在 ctags 中,请在他们的网站上报告,因为我无法在 Tagbar 中解决这个问题。谢谢!
你也可以看看之前报告给 Tagbar 的 ctags 错误。
截图
许可
Tagbar 在 Vim 许可 条款下分发,请参阅包含的 LICENSE 文件。
贡献者
Tagbar 最初由 Jan Larres 编写。 它目前由 Caleb Maclennan 和 David Hegland 积极维护。 多年来,至少有 75 位其他贡献者 提供了功能和错误修复。 请在 Github 上记录问题或提交拉取请求。