[ruby][vim]Rubocopを使ってコードをチェックする


rubyのコーディングルールをチェックしてくれるrubocopをvimから自動実行するように設定しました。

設定方法は以下の記事を参考にさせていただきました。

Rubocopをsyntasticを使ってVimから自動実行する

  • rubocopインストール
gem i rubocop
  • .vimrcに以下を追加(NeoBundle使用時)
# ~/.vimrc

NeoBundle 'scrooloose/syntastic'
let g:syntastic_mode_map = { 'mode': 'passive',
            \ 'active_filetypes': ['ruby'] }
let g:syntastic_ruby_checkers = ['rubocop']

これでファイル保存時に自動実行してくれます。(参考記事には手動実行の方法も書かれていました)

問題がある箇所は

<pre>
S>
</pre>

という記号が表示され、該当行に移動するとステータスバーに

<pre>
Use the new Ruby 1.9 hash syntax.
</pre>

のように対応方法が記述されています。

これで警告をひとつひとつ潰していけばコーディングルールに沿ったコードが書けそうです。

2015/2/8追記
ファイル保存時に毎回チェックすると重いので手動チェックに切り替えました

# ~/.vimrc

let g:syntastic_mode_map = { 'mode': 'passive' }
noremap ,c :SyntasticCheck<CR>
let g:syntastic_ruby_checkers = ['rubocop']

「,c」でチェックするようにショートカットを設定しました。