emacsのpy-yapfパッケージの使い方

emacs上でyapfコマンドを実行するpy-yapfパッケージの使い方をまとめました。


1 py-yapfパッケージとは

pythonのコード整形ツールyapfをemacs上で実行するパッケージです。

ただし、py-yapf 0.2はyapf 0.2.8以上のバージョンで動作しないようです。

yapf 0.2.7を用意すれば動作します。

2 py-yapfパッケージのインストール

M-x package-list-packages経由でインストールします。

py-yapf  0.2  available  Use yapf to beautify a Python buffer

3 yapfのインストール

pipでバージョンを指定してインストールします。

$ sudo pip install yapf==0.2.7

4 .emacsの設定

python-mode-hookにpy-yapf-enable-on-saveを登録します。

(add-hook 'python-mode-hook 'py-yapf-enable-on-save)

5 実行例

関数定義の間に空白行がない状態です。

https://dl-web.dropbox.com/s/pz68895bc3do3ck/0001_py-yapf-prev-save.png

セーブすると関数定義の間に空白行が自動で追加されました。

https://dl-web.dropbox.com/s/xuycqlf3iyka7kn/0002_py-yapf-post-save.png