Python用のvimの設定
何ができる?
大まかに言うと次の5つが行えます。
- コード補完
- pep8チェック
- Pyflakesチェック
- McCabe複雑度チェック
- pep8用インデント
前提
- vimプラグインの管理にNeoBundleを使っています。
- NeoBundleの使い方は省略しています。
コード補完 : jedi × jedi-vim
インストール
jedi : Pypi - jedi
pip install jedi
NeoBundle 'davidhalter/jedi-vim'
cd ~/.vim/bundle/jedi-vim
git submodule update --init
設定
- カスタマイズしない場合は、~/.vimrcに設定する必要はありません。
- カスタマイズする場合は、davidhalter/jedi-vim > Optionsに方法が記載されています。
コード解析 : Flake8 × Flake8-vim
flake8で以下のチェックをまとめて行います。
- pep8
- PyFlakes
- McCabe複雑度検出
インストール
flake8 : Pypi - flake8
pip install flake8
vimプラグイン : Flake8-vim
NeoBundle 'Flake8-vim'
設定
~/.vimrcの設定(参考)
"保存時に自動でチェック
let g:PyFlakeOnWrite = 1
"解析種別を設定
let g:PyFlakeCheckers = 'pep8,mccabe,pyflakes'
"McCabe複雑度の最大値
let g:PyFlakeDefaultComplexity=10
"visualモードでQを押すと自動で修正
let g:PyFlakeRangeCommand = 'Q'
詳細はGitHub > antviro/flake8 > Configurationに記載されています。
インデント : vim-python-pep8-indent
インストール
NeoBundle 'hynek/vim-python-pep8-indent'
設定
特に必要ありません。