100*_*01b 6 javascript vim ctags
我需要有关设置ctags,jsctags和tagbar的帮助,以便我可以使用可编辑的Javascript编辑环境.我安装了所有东西,但无法知道ctags和jsctags如何协同工作,所以我不知道如何正确配置.我已经做了很多谷歌,但信息很破碎,缺乏一致性.我收到类似于这篇文章的错误,ctags和tagbar配置不同步.我在OS X山狮和iterm2上.
任何帮助将不胜感激.一步一步的指示将非常好.
谢谢.
首先,您必须了解jsctags和ctags可能永远不会同步.即使您只有一个简单的函数,两个程序也可能输出略有不同的信息.因此建议使用一个或另一个但不是两个.
其次,AFAIK,TagBar不需要配置为使用jsctags而不是ctags.如果你正在使用JavaScript,它只会默认为jsctags,如果它可用的话.如果你有一个工作的jsctags,TagBar不应该抱怨.
第三,为自己的标签相关的功能(:tag,:tselect,<C-]>等),Vim仅会依赖于一个或多个物理存在tags的文件.这些文件是否由ctags,jsctags或whatevertag生成,只要它们生成正确就不是问题.
现在我们到达第四点,这就是痛苦的真正原因:Tagbar和它的旧堂兄TagList实际上都没有使用物理tags文件.他们直接点击ctags或jsctags,甚至没有尝试使用或更新任何现有tags文件.因此,以及TagBar仅处理当前缓冲区的事实,您自己的物理tags文件(以及Vim的标签相关功能)和TagBar几乎保证不同步.即使您使用相同的索引器.
所以...我想建议你使用任何 CTAGS 或 jsctags,而忘记了同步TagBar的和Vim的标签相关的任何东西作为两件事是完全分开的:
使用TagBar了解/导航当前缓冲区.
使用Vim与标签相关的功能来移动您的项目.
随意的想法......
为了让Vim tags轻松找到你的文件,你应该把这一行放在你的~/.vimrc:
set tags=./tags,tags;/
Run Code Online (Sandbox Code Playgroud)
./tags表示" tags在当前文件的目录中tags查找文件",表示" tags在工作目录中查找文件",;/表示"一直向上看,直到达到/".
TagBar wiki讨论了jsctags中的一个错误,确保你不关心它.
当你编写带有大量回调和自执行函数的疯狂"现代"JavaScript时,jsctags比ctags更好.如果您的JavaScript更传统,那么ctags就足够了.