我需要有关设置ctags,jsctags和tagbar的帮助,以便可以使用可行的Javascript编辑环境。我已经安装了所有东西,但不知道ctags和jsctags如何一起工作,所以我不知道如何正确配置。我在Google周围做过很多事情,但是信息非常困惑并且缺乏一致性。我收到类似于此帖子的错误ctags and tagbar configuration are out of sync。我在OS X美洲狮和iterm2上。
任何帮助将不胜感激。一步一步的说明将是极好的。
谢谢。
最佳答案
首先,您必须了解jsctags和ctags可能永远不会同步。即使您只有一个简单的功能,两个程序可能也会输出稍有不同的信息。因此,建议使用其中一个而不是两者。
其次,AFAIK,TagBar不需要配置为使用jsctags而不是ctags。如果您使用的是JavaScript,那么它将在可用时简单地默认为jsctags。如果您有可用的jsctag,TagBar不应提示。
第三,对于其自身与标签相关的功能(:tag
,:tselect
,<C-]>
等),Vim仅依赖于一个或多个物理tags
文件的存在。那些文件是由ctags,jsctags或whattags生成的,只要它们是正确生成的,都不在乎。
现在我们到达了第四点,这实际上是痛苦所在:Tagbar或其较早的表亲TagList实际上都没有使用物理tags
文件。他们直接点击ctags或jsctags,甚至不尝试使用或更新任何现有的tags
文件。因此,加上TagBar仅处理当前缓冲区的事实,几乎可以保证您自己的物理tags
文件(以及Vim与标签相关的功能)与TagBar不同步。即使您使用相同的索引器。
所以……我建议您使用ctags或jsctags,并且不要忘记同步TagBar和Vim的与标签相关的东西,因为两者是完全分开的:
随意的想法…
tags
文件,您应该在~/.vimrc
中放置以下行:set tags=./tags,tags;/
./tags
的意思是“在当前文件的目录中查找tags
文件”,tags
的意思是“在工作目录中查找tags
文件”,;/
的意思是“一直向上查找,直到到达/
”。 关于javascript - ctags,jsctags/doctorjs,Tagbar逐步,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15425800/