VimでJavaScript書くとき、jslint.vim使ってたんだけど、あまりに縛りがキツいのでjshintにしようかと。jshintのVimプラグインだとjshint.vimというのがあるみたいなんだけど、自動でチェックはしてくれなさそう。で、いろいろと探してたら汎用シンタックスチェックのSyntasticというやつを見つけた。

とりあえずインストール。NeoBundle使ってるので

NeoBundle "scrooloose/syntastic"

を足して、

:source $MYVIMRC
:NeoBundleInstall

jshintも入れておきましょ。

$ npm install -g jshint

んで、JavaScriptを書く。たとえばこんな。

(function() {
  "use strict";
  for (key in options)
    console.log(options[key]);
})();

書いたそばから警告出してくれる。

すべてのエラーを見たい場合は

:SyntasticCheck
:Errors

と打つ。

では先程のコードはどう書けばよかったのか?

(function(global) {
  "use strict";
  var console = global.console,
      options = global.options;
  var key;
  for (key in options) {
    if (options.hasOwnProperty(key)) {
      console.log(options[key]);
    }
  }
})(window);

こんな感じらしい。