Vim で Python のコーディングをするときに、ちょっとした問題を解決してくれる Plugin の紹介です。
python-mode, jedi-vimといった IDE 級の機能を備えた Plugin も素敵ですが、かゆい所に手が届く Plugin もまた良いものです。
python_match.vim
% (matchit) を python 向けに強化する Plugin です。
if/elif/else, for/continue/break, try/except/else/finally, while/continue/break などのキーワード間を % で移動できるようになります。
for/else には今の所対応していないようです。
django-template-textobjects
個人的に今回紹介する中で最も Life Changing な Plugin です。
Django Template の組み込みタグを text-objects に対応させてくれます。肝心の text-objects 自体をそこまで使わないのですが、matchit.vimと連携して block/endblock 間を matchit してくれるようになるのが嬉しい所です。
Django 1.4 以降に追加された elif タグには今の所対応していないようだったので pullreq を出してみました。
textobj-userに依存していますので、こちらも入れましょう。
indentpython.vim
インデントを PEP8準拠にしてくれる Plugin です。
autopep8 と併用するとインデント周りで細かいツッコミを受けるケースは皆無になります。
その他
なお、その他の小粒系 Plugin として django.vim, python-syntax, python-indentも入れていたのですが、最新の Vim 7.4 では特に入れてなくても問題なかったり、他の Plugin と競合していたりして使わなくなりました。
定期的な見直しは重要ですね。。
まとめ
matchit 重要。
また、小粒 Plugin は vim-script と英語がどうにかなればちょっとした contribute もしやすいですね。