我其实有两个问题。
首先,据我所知,有两个标签工具:
- 标签
- GNU Global 又名 gtags
如果我的日常工作集中在 Ruby、Rails、JavaScript 和 Python 上,我想知道哪个更合适。即,动态语言。我用谷歌搜索了一下,似乎 gtags 在某种程度上等同于 ctags + cscope?
其次,至于ctags,有一些vim插件:
- vim-tags:可以通过命令在 Vim 中生成标签文件
:TagsGenerate
。 - tagbar:一个著名的插件。它似乎可以即时生成标签。
- vim-easytags:看起来像 vim-tags,但具有更多功能。
我在想
- 这些插件之间有重叠吗?
- 如果有重叠,如何整合或如何选择使用哪一个?
我知道在一篇 SO 帖子中有两个问题不好,但我认为这两个问题高度相关,因为它们对于 Vim+Tags 组合至关重要。希望这个问题可以作为像我一样想要使用标签但不熟悉它的人的基础或教程。(我找不到 vim+ctags 的“现代”教程,互联网上的大多数帖子都是过时的 IMO)
谢谢。
更新:
基本上,我希望能够
- 跳转到某个函数的声明
- 跳转到某个函数的用法
使自动完成更智能。我的意思是,如果我有
class Obj def m1 puts "hello" end end
然后我希望
m1
在我键入时显示自动补全obj = Obj.new; obj.
。据我所知,YouCompleteMe可以使用 ctags 的文件,但即使我按照说明进行设置,我也无法设置它。
老实说,我真的不知道 ctags 能做什么或能提供什么。因此,请随时提出更多有用的功能。谢谢!