技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> JavaScript --> 更好的用vim浏览Javascript代码

更好的用vim浏览Javascript代码

浏览:3423次  出处信息

vim默认没有一般IDE的outline视图,浏览长篇Javascript源文件很麻烦,taglist插件正是弥补这点不足。它可以将所有方法和变量分级罗列出来,一目了然。taglist是依赖强大的ctags实现的。ctags支持41种编程语言,其中包括Javascript,但对Javascript支持较随意。

ctags + taglist的安装过程:
1. 下载exuberant ctags
2. 安装exuberant ctags:
> ./configure
> make
> sudo make install
3. 安装taglist
4. 让taglist针对javascript显示更多信息。新建$HOME/.ctags文件,添加:
感谢@KDepp补充: windows用户要注意,放在$HOME/ctags.cnf中。

--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Object\(/\1/o,object/
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/o,object/
--regex-JavaScript=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/f,function/
--regex-JavaScript=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*\([^\]\)]*\)/\1/f,function/
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Array\(/\1/a,array/
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/a,array/
--regex-JavaScript=/([^= ]+)[ \t]*=[ \t]*[^""]'[^'']*/\1/s,string/
--regex-JavaScript=/([^= ]+)[ \t]*=[ \t]*[^'']"[^""]*/\1/s,string/

5. 在.vimrc添加:

let Tlist_JS_Settings = 'javascript;s:string;a:array;o:object;f:function'
let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'

6. 打开一个js,执行:Tlist。

遇到问题可参考下面链接:

http://vim-taglist.sourceforge.net/faq.html

http://easwy.com/blog/archives/exuberant-ctags-chinese-manual/

jsctags是专门针对javascript做的,目的就是提供比ctags更好的索引结果。它完全是用javascript写的,基于node.js和narcissus。现在这个项目已改名为DoctorJS

下面这两个插件都是利用DoctorJS对javascript文件做处理的:
1. Taglist-Plus
2. Tagbar。另一篇介绍Tagbar的文章:http://is.gd/tKfuTe

在编辑.html文件里的javascript,taglist找不到任何标签。只好先:set ft=php,再用Tagbar。

建议继续学习:

  1. vim几个小技巧(批量替换,列编辑)    (阅读:35694)
  2. 简明Vim练级攻略    (阅读:20517)
  3. Vim下的代码自动补全和代码跳转阅读    (阅读:14214)
  4. 为什么要用 Emacs/Vim,而不是任何其他编辑器    (阅读:12019)
  5. 在vim(gvim)中运行终端(对,你没有看错,我也没有写反)    (阅读:9284)
  6. vim入门,进阶与折腾    (阅读:9023)
  7. 让vim在终端下的配色亮起来!    (阅读:8526)
  8. 最近总结的一些技巧(vim,python,svn,fiddler等)    (阅读:6920)
  9. vim的复制粘贴小结    (阅读:6389)
  10. Vim 中截取部分内容保存到其他文件    (阅读:6270)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1