Pythonの文法チェックツールFlake8をVimから使うプラグインのインストールと設定方法です。
VimからFlake8を使うためのプラグインはいくつかありますが、自分が使っているSyntasticとvim-flake8を紹介します。
VimプラグインのインストールにはNeoBundleを使用しています。NeoBundleのインストール方法はここでは書きませんが、高機能でとても便利です。
Syntastic
https://github.com/scrooloose/syntastic
Syntasitcは外部の構文チェッカーを使用して構文チェックを実行しVim上に結果を表示してくれるプラグインです。Pythonだけでなく色々な言語の構文チェッカーを使うための設定も用意されています。
インストール
.vimrcに下記の設定を追加し、:NeoBundleInstall
を実行します。
NeoBundle "scrooloose/syntastic"
設定
let g:syntastic_python_checkers = ["flake8"]
動作
.pyファイルを保存するとFlake8が実行され結果が表示されるようになります。
また、Syntasticをインストールすると :SyntasticCheck
コマンドが使えるようになっているので、コマンド実行でもFlake8の結果を表示することができます。
Flake8実行結果を一覧で見たい場合は :Errors
コマンドで表示することができます。
カスタマイズ
Flake8のオプションを設定したい場合は g:syntastic_python_flake8_args
に実行時に追加したいオプションを追加します。
let g:syntastic_python_flake8_args="--max-line-length=120"
vim-flake8
https://github.com/nvie/vim-flake8
Flake8の実行結果を一覧で表示するだけのシンプルなプラグインです。実行結果が多い場合でも軽快に動作します。
インストール
.vimrcに下記の設定を追加し、:NeoBundleInstall
を実行します。
NeoBundleLazy "nvie/vim-flake8", {
\ "autoload": {
\ "filetypes": ["python", "python3", "djangohtml"]
\ }}
設定
設定は特に必要ありません。
動作
.pyファイルを開いている状態で<F7>キーを押すか :call Flake8()
コマンドを実行することでFlake8が実行され結果が表示されます。
カスタマイズ
Flake8の各オプションごとの設定があるので、適切なものを.vimrcに追加します。
.vimrclet g:flake8_builtins="_,apply" let g:flake8_ignore="E4" let g:flake8_max_line_length=120 let g:flake8_max_complexity=10 let g:flake8_cmd="/opt/python/bin/flake8"
バッファー保存時にvim-flake8を実行するように設定する方法です。
autocmd BufWritePost *.py call Flake8()
参考
:help syntastic