VIM + JSLint?
The best-practice way IMO is:
- Install Syntastic Vim plugin - Best syntax-checker around for plenty of languages, plus it integrates with Vim's location-list (==quickfix) window.
- I recommend cloning from the GitHub repo and installing using a plugin manager like Vundle or Pathogen, since it's more frequently updated.
- Choose one of the two options below:
JSLint
- Install
jsl
(JSLint executable) using your favorite package manager (Ubuntu'sapt-get
, Mac's homebrew
, etc.).
Community-driven jshint.com (better than JSLint)
- Install node.js using your favorite package manager.
- Install Node Package Manager: 'curl https://npmjs.org/install.sh | sh' EDIT: npm IS PART OF node.js NOW
- See http://npmjs.org for more info.
- Install jshint globally: 'npm install jshint -g'
- Put your jshint config file in your $HOME dir: '~/.jshintrc'
- Here's JSHint-Node's example configuration file, they pulled from mine and added more stuff.
- Here's my original copy, which you can also start from.
- Overwrite Syntastic's
syntax_checkers/javascript.vim
file with this one - EDIT: NO LONGER NECESSARY WITH NEWEST SYNTASTIC VERSION.- Script copied from FactorayLab's really helpful Vim GitHub page, which I recommend every Vim user to check out.
Enjoy! :)
You can follow the intructions from JSLint web-service + VIM integration or do what I did:
Download http://jslint.webvm.net/mylintrun.js and http://www.jslint.com/fulljslint.js and put them in a directory of your choice.
Then add the following line to the beginning of mylintrun.js:
var filename= arguments[0];
and change last line of code in mylintrun.js ("print( ...)") to:
print ( filename + ":" + (obj["line"] + 1) + ":" + (obj["character"] + 1) + ":" + obj["reason"] );
This makes in mylintrun.js output a error list that can be used with the VIM quickfix window (:copen).
Now set the following in VIM:
set makeprg=cat\ %\ \\\|\ /my/path/to/js\ /my/path/to/mylintrun.js\ %
set errorformat=%f:%l:%c:%m
where you have to change /my/path/to/js to the path to SpiderMonkey and /my/path/to/mylintrun.js to the path where you put the JS files.
Now, you can use :make in VIM and use the quickfix window (:he quickfix-window) to jump from error to error.
Another option is jslint.vim from Jesse Hallet. It's available on GitHub and works with or without Vim's QuickFix window. It's a nice plugin!