如何使vim ctags适用于现代的javascript

我使用vim和ctags来获取taglist。 但对于JavaScript,它不适用于这个约定

MyClass.extend({ xxx: function(){ }, ... }) MyClass.prototype = { method : function(){ } } MyClass.prototype.method = function () { } 

像其他人一样说: DoctorJS (以前的jsctags )是最好的select。

但是,通过编写自定义包装器或使用目前不工作的Vim-taglist-plus插件将其与Vim集成,并不是好的解决scheme。

我find的最简单的方法是安装TagBar Vim插件 ( 注意 :它是TagBar,而不是臭名昭着的TagList!)。

看到我的其他答案更多的信息 。

编辑:

有一个叫做tern.js的新项目可以替代死亡的doctor.js。 请参阅上面的链接了解更多信息。

正如@Benoit回答的那样,你总是可以为ctags设置一个新的语言; 然而,在JavaScript的情况下,你可能想尝试DoctorJS(以前的jsctags )。 从作者这是一个有限的JS环境,logging你的脚本所做的所有function和对象,并把它们变成vim兼容的标签文件。 这里是原始文章http://pcwalton.blogspot.com/2010/05/introducing-jsctags.html及其网站:; http : //doctorjs.org/ 。

要用ctags来使用它,我必须将ctags文件重命名为ext ex-ctags然后编写一个名为ctags的包装脚本,它将根据 – 语言切换工具。

你可以为ctags设置新的语言。 看到这个和那个

假如你安装了doctorjs,你可以使用vim-taglist-plus插件,这是vim-taglist插件与jsctags(doctorjs)支持的一个分支: https : //github.com/int3/vim-taglist-plus