この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
Rubyのコードを変更したら忘れずに Rubycop でチェックしたい。というときに使えるTipsです。
前提
- Rubocop がインストール済みで
rubocop
コマンドにpathが通っていること
準備:NeoBundle のインストール
以下のページを参考に Vim に NeoBundle を導入します。(今時のVimプラグイン管理は dein.vim らしいのですが、自分の環境はまだ NeoBundle です…)
既に NeoBundle がインストール済みの場合、次の手順に進みます。
Vim に syntastic をインストールする
syntastic は Vim 上でのシンタックスチェックしてくれるプラグインです。
~/.vimrc
に以下の行を追加します。
" syntastic インストール
NeoBundle 'scrooloose/syntastic'
" syntastic から rubocop を実行する設定
let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': ['ruby'] }
let g:syntastic_ruby_checkers = ['rubocop']
上記を簡単に解説すると…
NeoBundle 〜
このの行はプラグインを使用することを NeoBundle に対して知らせるためのもので、もしそのプラグインがインストールされていなければ、vim の起動時に GitHub のしかるべき場所からローカル(標準では ‘~/.vim/bundle` の下)に clone して、vimのプラグインとして自動的に読み込んでくれる。let g:syntastic_* = 〜
この行は syntastic プラグインからRubocopを呼び出すための設定
これらを設定して Ruby のソースコードを編集して保存すると Rubocop のチェックが走ります。
実行してみる
ためしに以下のようなコードを入力して保存してみます。
class Hoge
def foo
puts "hoge"
end
end
実行結果は以下のようになります。
警告が出てる行に$>
が表示されます。また、:Errors
と打つとエラーの一覧が表示されます。
他にもいろいろ便利機能あるので詳しくは、syntasticの公式ページを見て頂くと良いと思います。
これで、ローカルでrubocop流し忘れて jenkins おじさんに怒られずに済みますね。