使用vim来编写javascript代码
如果你喜欢vim,平时也写写javascript,那么这篇文章就是为你而写的:)如果你喜欢javascript,但是还没有找到合适的编辑器,那么请give vim a try。
以下假定你对vim已经有所了解,另外所有插件在gnome-terminal中都测试过,在其他终端中应该不会有太大问题。
- 语法高亮-javascript.vim
http://www.vim.org/scripts/script.php?script_id=1491
该插件安装在~/.vim/syntax/目录下。下载后需要修改一个地方,一般javascript编程,折叠层数不需要太深,我自己设置为1,即:
setlocal foldlevel=1。
需要在.vimrc中加入" 打开javascript折叠 let b:javascript_fold=1 " 打开javascript对dom、html和css的支持 let javascript_enable_domhtmlcss=1
- 变量标记和检查-mark.vim
- 字典补全-javascript.dict
- YUI自动补全
- 运行代码片段-spidermonkey
- 语法检查和快速调试-javascriptlint
- 其他常用插件
虽然我不怎么用,但是可能对你有一些帮助
winmanager 类似资源管理器,如果从editplus或者其他图形编辑器转过来的朋友,这个可能很有用。
截屏(点击可查看大图)

minibufexplorer 类似标签页,管理当前打开的文件
Tlist可以显示代码结构
http://www.vim.org/scripts/script.php?script_id=1238
该插件安装到~/.vim/plugin/目录。在对变量进行检查和跟踪的时候会很有用,同时还可以防止变量名拼写错误。打开/关闭变量标记的默认快捷键是m。也可以使用v选中一段进行标记。
截屏(点击可查看大图)
![]()
http://lazy-people.org/browser/project/dotfiles/users/dann/.vim/dict/javascript.dict?rev=122
该字典可以放在任意目录,我一般放在~/.vim/dict/目录中。使用字典补全需要在插入模式下,快捷键是Ctrl+X,然后Ctrl+K。有些javascript内置函数名超长,经常记不住,这时候字典就比较有用。字典其实就是一个普通文件,里面是关键词的列表,一行一个,所以你也可以加入一些你在项目中经常使用的函数。
另外需要在.vimrc中加入
"设置字典 ~/.vim/dict/javascript.dict是字典文件的路径 autocmd FileType javascript set dictionary=~/.vim/dict/javascript.dict
待续…
http://www.mozilla.org/js/spidermonkey/
有时想测试一个小东西,没有必要写一个html然后到浏览器去运行,spidermonkey能帮你忙,而且spidermonkey还能作一些很geek的事情。ubuntu系统安装很简单,sudo apt-get install spidermonkey-bin,其他系统请参考网站的文档。安装完毕后,输入js,则会进入一个js shell,和python类似。输入help()回车,会看到一个简单的帮助。
在vim编写javascript代码后,输入!js %即可执行当前文件的代码。也可以选中一段代码然后执行:’<,'>!js,这样会插入执行结果到当前文件。
截屏(点击可查看大图)
![]()
http://www.javascriptlint.com/
这个工具的代码基于Douglas Crockford’s的jslint,在代码检查方面很强大,可以说非常苛刻。如果从头开始写代码,建议经常用它来检查代码,能明显提高代码的质量。下载时不要从代码库check out最新版本,而是下载稳定的0.3.0版本。
cd jsl-0.3.0/src/ #这里的jsl-0.3.0是解压缩目录 make -f Makefile.ref all cd Linux_All_DBG.OBJ/ cp jsl jscpucfg /home/xp/bin/js/ #/home/xp/bin/js/要拷贝到的目录,可以任意位置 cd /home/xp/bin/js/ jsl -help:conf > jsl.conf #生成默认配置文件
另外需要在.vimrc中加入
"设置javascriptlint autocmd FileType javascript set makeprg=/home/xp/bin/js/jsl -nologo -nofilelisting -nosummary -nocontext -conf '/home/xp/bin/js/jsl.conf' -process % autocmd FileType javascript set errorformat=%f(%l): %m autocmd FileType javascript inoremap <silent> <F9> <C-O>:make<CR> autocmd FileType javascript map <silent> <F9> :make<CR>
使用时使用:make命令即可,或者使用F9快捷键。还需要理解的是quickfix,输入命令help quickfix看以下文档,主要涉及的命令有:cw :cn :cp等。
截屏(点击可查看大图)
![]()
z.Yleo77 发表于2009年06月13日 7:36 pm
这篇文章对于写js的vim配置真是到了一个境界。。。没有杂的,只有最需要的。。
Proguru 发表于2009年06月17日 4:23 pm
我对你vim用的colorscheme比较感兴趣,是用的哪个啊?
fybird 发表于2009年09月17日 6:38 pm
很不错,学到了很多东西%谢谢
asins 发表于2010年01月17日 1:08 am
我在使用vim编辑js时,VIM的缩进总是会出现错误,比如在一JS文件输入
var a = {
b: function(){在这里回车后会发现缩进错误,不知有没有什么改进的方法啊!
}
landyvanroy 发表于2010年04月02日 2:59 pm
关注yui自动补全
shepherdwind 发表于2010年09月23日 2:28 pm
正和我意,非常感谢。在linux下还是一切都在终端界面下解决好。最近我gvim无法启动了,真奇怪,好像是我在编译7.3的时候出的问题,不知为啥,提示是“Vim: 拦截到致命信号(deadly signal) SEGV”。
shepherdwind 发表于2010年09月23日 3:50 pm
在推荐一下一个使用javascriptlint.vim插件的方法,直接下载插件,cp到plugin目录中,然后把本文所编译好的jsl文件cp到/bin/中就可以用了。
charseer 发表于2010年11月25日 6:03 pm
你好,打扰请问下
我用javascriptlint 的时候提示出现:
ror detected while processing FileType Auto commands for “javascript”:
E518: Unknown option: -nologo
E518: Unknown option: %m
这是为什么呢?
刷钻 发表于2010年12月21日 11:10 am
呵呵,来拜访了,脚个脚印。。。
aloo 发表于2011年02月03日 11:06 pm
高山仰止,望脊项背啊~~~
太受用了
landyvanroy 发表于2011年04月21日 8:50 am
同样,关注YUI自动补全
阿正 发表于2011年11月23日 11:03 am
不错!