Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

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

$
0
0

Rubyコードを静的にチェックしてくれるRubocopをVimから実行するプラグインには専用のvim-rubocopもあるんですが、このためだけのためにインストールするのが嫌だったので、syntasticから実行するようにしました。

インストール

何はともあれNeoBundleでsyntasticをインストール(NeoBundle自体の使い方については Vim - NeoBundleの導入 - Qiitaなどを参照してください)

.vimrc
NeoBundle 'scrooloose/syntastic'

それとRubocopもインストールします。

gem i rubocop

Rubocopを使うように設定する

.vimrc
NeoBundle 'scrooloose/syntastic'letg:syntastic_mode_map = { 'mode': 'passive',
            \ 'active_filetypes': ['ruby'] }
letg:syntastic_ruby_checkers = ['rubocop']
letg:syntastic_quiet_warnings =0

syntastic_mode_map'active'もしくは 'passive'を指定します。 'active'だとバッファを保存するたびにsyntasticが走り、 'passive'の場合は :SyntasticCheck実行時に走ります。

'active_filetypes'は保存の度にsyntasticを走らせるファイルタイプを指定します。

2つをあわせると、基本的にsyntasticは走らせないけど、rubyのときだけは自動的に走らせる、という設定になります。

syntastic_ruby_checkersはrubyでsyntasticが走らせるツールを指定するものです。

syntastic_quiet_warningsはデフォルト 1なのですが、何故ここで 0を設定しているかは このコメントを参照してください。

使ってみる

あとはrubyファイルを開いて保存するだけです。

syntasticはVimをブロックするので大きなファイルだとストレスたまるかも知れません。その場合は 'active_filetypes'ではなく'passive_filetypes'に指定して、必要なタイミングで :SyntasticCheckを実行するようにするといいでしょう。

もしくは :SyntasticToggleModeを実行すると active と passive を切り換えることもできます。

合わせて読みたい


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>