ctags,jsctags / doctorjs,Tagbar一步一步

时间:2013-03-15 06:01:33

标签: javascript vim ctags

我需要有关设置ctags,jsctags和tagbar的帮助,以便我可以使用可编辑的Javascript编辑环境。我安装了所有东西,但无法知道ctags和jsctags如何协同工作,所以我不知道如何正确配置。我已经做了很多谷歌,但信息很破碎,缺乏一致性。我收到了与此帖ctags and tagbar configuration are out of sync类似的错误。我在OS X山狮和iterm2上。

非常感谢任何帮助。一步一步的指示将非常好。

THX。

1 个答案:

答案 0 :(得分:5)

首先,您必须了解jsctags和ctags可能永远不会同步。即使您只有一个简单的函数,两个程序也可能输出略有不同的信息。因此,建议使用另一个,但不能同时使用两者。

其次,AFAIK,TagBar不需要配置为使用jsctags而不是ctags。如果您正在使用JavaScript,它将默认为jsctags,如果它可用。如果你有一个工作的jsctags,TagBar不应该抱怨。

第三,对于与标签相关的功能(:tag:tselect<C-]>等),Vim仅依赖于一个或多个物理{{1}的存在}文件。这些文件是否由ctags,jsctags或whatevertag生成,只要它们生成正确就不是问题。

现在我们到达痛苦的第四点:Tagbar及其旧表兄弟TagList实际上都没有使用物理tags文件。他们直接点击ctags或jsctags,甚至没有尝试使用或更新任何现有的tags文件。因此,以及TagBar仅处理当前缓冲区的事实,您自己的物理tags文件(以及Vim的与标签相关的功能)和TagBar几乎保证不同步。即使您使用相同的索引器。

所以...我建议你使用 ctags jsctags并忘记任何关于同步TagBar和Vim的标签相关内容的事情,因为两者完全是分开的:< / p>

  • 使用TagBar了解/导航当前的缓冲区。

  • 使用Vim与标签相关的功能来移动您的项目。


随机的想法......

  • 要让Vim轻松找到您的tags个文件,您应该将此行放在tags中:

    ~/.vimrc

    set tags=./tags,tags;/ 表示“在当前文件的目录中查找./tags文件”,tags表示“在工作目录中查找tags文件”, tags表示“在您到达;/之前一直向上看。”

  • The TagBar wiki讨论jsctags中的错误,确保您不关心它。

  • 当您编写具有大量回调和自执行功能的疯狂“现代”JavaScript时,jsctags优于ctags。如果你的JavaScript更传统,那么ctags就足够了。