English 中文(简体)
如何在Vim中使用JSLint
原标题:
  • 时间:2009-01-23 16:10:29
  •  标签:

我整天都在使用vim,目前正写很多JavaScript代码。我一直在努力寻找一种将JSLint或类似工具集成到vim中来提高我的编程质量的方法。有人成功实现了这样的操作吗?

我尝试了这个:从Vim进行JavaScript语法检查,不幸的是输出结果非常粗糙。

最佳回答

您可以按照JSLint网络服务+ VIM集成中的说明进行操作,或者像我一样:

Download http://jslint.webvm.net/mylintrun.js and http://www.jslint.com/fulljslint.js and put them in a directory of your choice.

然后将以下行添加到mylintrun.js的开头:

var filename= arguments[0];

把这句话翻译成中文:并且将mylintrun.js文件中的最后一行代码(“print(...)”)改为: 将mylintrun.js文件中的最后一行代码(“print(...)”)更改为:

 print ( filename + ":" + (obj["line"] + 1) + ":" + (obj["character"] + 1) + ":" + obj["reason"] );

这会在mylintrun.js输出错误列表,可以在VIM快速修复窗口(:copen)中使用。

现在在VIM中设置以下内容:

set makeprg=cat % \| /my/path/to/js /my/path/to/mylintrun.js %
set errorformat=%f:%l:%c:%m

你需要将/my/path/to/js更改为SpiderMonkey的路径,并将/my/path/to/mylintrun.js更改为您放置JS文件的路径。

现在,你可以在VIM中使用:make命令,并使用快速修复窗口(:he quickfix-window)从一个错误跳转到另一个错误。

问题回答

在我看来,最佳实践的方法是:

  1. Install Syntastic Vim plugin - Best syntax-checker around for plenty of languages, plus it integrates with Vim s location-list (==quickfix) window.
  1. Choose one of the two options below:

JSLint

  1. Install jsl (JSLint executable) using your favorite package manager (Ubuntu s apt-get, Mac s home brew, etc.).

Community-driven jshint.com (better than JSLint)

  1. Install node.js using your favorite package manager.
  2. Install Node Package Manager: curl https://npmjs.org/install.sh | sh EDIT: npm IS PART OF node.js NOW
  3. Install jshint globally: npm install jshint -g
  4. Put your jshint config file in your $HOME dir: ~/.jshintrc
  5. Overwrite Syntastic s syntax_checkers/javascript.vim file with this one - EDIT: NO LONGER NECESSARY WITH NEWEST SYNTASTIC VERSION.

享受! :)

另一个选择是来自Jesse Hallet的jslint.vim。它在GitHub上可用,可以使用或不使用Vim的QuickFix窗口。这是一个很好的插件!

我一直很高兴使用node-lint。

sudo npm -g install jslint

然后将此处打到你的 .vim 中的某个位置

set makeprg=jslint %
set errorformat=%-P%f,
        \%E%> #%n %m,%Z%.%#Line %l\, Pos %c,
        \%-G%f is OK.,%-Q

现在使用:make会运行jslint。错误会在快速修复窗口中出现。

以下是更新至2012年11月的Mac OS指令。假设您已安装了Homebrew以获取Node.js,并且已在Vim中安装了Syntastic(我使用https://github.com/carlhuda/janus自动提供此功能):

$ brew install node.js
$ npm install -g jshint

Then add /usr/local/share/npm/bin to your PATH (probably in ~/.bashrc). For example, add the line: export PATH="$PATH:/usr/local/share/npm/bin"

重新启动你的终端并检查。

$ jshint 的中文翻译为:$ jshint

可以通过命令行执行。Syntastic会自动发现jsHint。重新启动MacVim并享受!

更好的方法是通过Lynx管道传输结果来处理JSLint对输出格式的不幸选择。我在这里有一篇博客文章介绍如何做到这一点:

把这个链接翻译成中文:http://www.fleegix.org/articles/2008-09-06-jslint-in-vim-through-lynx





相关问题
热门标签