如何使 vim ctags 适用于现代 javascript
我正在使用 vim 和 ctags 来获取标签列表。但对于 javascript,它不适用于此约定
MyClass.extend({
xxx: function(){
},
...
})
MyClass.prototype = {
method : function(){ }
}
MyClass.prototype.method = function () {
}
I am using vim and ctags to get taglist. but for javascript, it does not works for this convention
MyClass.extend({
xxx: function(){
},
...
})
MyClass.prototype = {
method : function(){ }
}
MyClass.prototype.method = function () {
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
就像其他人所说:DoctorJS(以前的jsctags)是最好的选择。
然而,通过编写自定义包装器或使用 Vim-taglist-plus 插件(目前无法正常工作)将其与 Vim 集成并不是好的解决方案。
我发现最简单的方法是安装 TagBar Vim 插件 (注意:这是 TagBar,而不是旧的臭名昭著的 TagList!)。
有关详细信息,请参阅我的其他答案。
编辑:
有一个名为 tern.js 的新项目应该取代已失效的 doctor.js。请参阅上面的链接了解更多信息。
Like the others had said: DoctorJS (formerly jsctags) is the best option.
However, integrating it with Vim by writing custom wrappers or using Vim-taglist-plus plugin, which isn't currently working, aren't good solutions.
The easiest way I've found is to install the TagBar Vim plugin (NOTE: It's TagBar, not the old infamous TagList!).
See my other answer for more info.
Edit:
There's a new project called tern.js which should replace the dead doctor.js. See the link above for more info.
正如 @Benoit 回答的那样,您始终可以为 ctags 设置新语言;但是对于 JavaScript,您可能需要尝试 DoctorJS(以前称为 jsctags)。从作者看来,它是一个有限的 JS 环境,记录了脚本创建的所有函数和对象,并将它们转换为 vim 兼容的标签文件。这是原始帖子 http://pcwalton.blogspot.com/2010/05/介绍-jsctags.html及其网站:http://doctorjs.org/。
要将其与 ctags 一起使用,我必须将 ctags 文件重命名为 smt(如
ex-ctags
),并编写一个名为 ctags 的包装器脚本,该脚本将根据--language
切换工具。As @Benoit answered, you can always setup a new languages for ctags; however in the case of JavaScript, you may want to try DoctorJS (formerly jsctags). From the author it is a limited JS environment that records all the functions and objects your script made and turns them into vim-compatible tags file. Here is the original post http://pcwalton.blogspot.com/2010/05/introducing-jsctags.html and its website: http://doctorjs.org/.
To use it with ctags I have to rename the ctags file to smt like
ex-ctags
and write a wrapper script named ctags which will switch the tool depending on--language
.您可以为 ctags 设置新语言。请参阅此和那个
You can setup new languages for ctags. See this and that
如果你安装了 doctorjs,你可以使用 vim-taglist-plus 插件,它是 vim-taglist 插件的一个分支,支持 jsctags (doctorjs) : https://github.com/int3/vim-taglist-plus
provided you install doctorjs, you can use the vim-taglist-plus plugin, which is a fork of the vim-taglist plugin with jsctags (doctorjs) support : https://github.com/int3/vim-taglist-plus