もた日記

くだらないことを真面目にやる

Vimメモ : vim-python-pep8-indentでインデントをPEP8に準拠させる

vim-python-pep8-indent


github.com

vim-python-pep8-indentプラグインを使うとインデントをPEP8に準拠させることができる。

PEP8とは


PEPとはPython Enhancement Proposals(Python拡張提案)の略で、8番目のPEP8でPythonコードのスタイルガイド(インデント、1行の長さ、命名規約など)がまとめられている。

PEP
PEP 0 -- Index of Python Enhancement Proposals (PEPs) | Python.org

PEP8
PEP 8 -- Style Guide for Python Code | Python.org

PEP8日本語訳
はじめに — pep8-ja 1.0 ドキュメント

インストール


NeoBundleの場合は下記行をvimrcに追加。

NeoBundle 'Vimjas/vim-python-pep8-indent'

deinの場合は下記行をdeinlazy.tomlなどに追加。

[[plugins]]
repo = 'Vimjas/vim-python-pep8-indent'
on_ft = 'python'


使い方


インストールが成功すれば特に設定しなくても使えるようになっている。
例えば、以下のコードを入力していくとPEP8で良い例と紹介されているインデントになる。

# 開き括弧に揃える
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

# この行とそれ以外を区別するため、インデントを加える場合
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

# 突き出しインデントはインデントのレベルを深くする
foo = long_function_name(
    var_one, var_two,
    var_three, var_four)


vim-indent-guidesで可視化


インデントを図のように可視化したい場合はvim-indent-guidesというプラグインを使うとよい。

f:id:wonder-wall:20170202003000p:plain

wonderwall.hatenablog.com

入門 Python 3

入門 Python 3