Python
Vim

VimからFlake8を使うプラグイン

More than 5 years have passed since last update.

Pythonの文法チェックツールFlake8をVimから使うプラグインのインストールと設定方法です。

VimからFlake8を使うためのプラグインはいくつかありますが、自分が使っているSyntasticvim-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 コマンドで表示することができます。

スクリーンショット 2014-03-03 1.22.12.png


カスタマイズ

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が実行され結果が表示されます。

スクリーンショット 2014-03-03 1.22.22.png


カスタマイズ


  • Flake8の各オプションごとの設定があるので、適切なものを.vimrcに追加します。

 let 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