上記記事によると、pythonコードの折りたたみを自動でやってくれるありがたいプラグインがあるようで、ありがたく使わせていただくことにした。
といわけで、そろそろPythonのヤツも欲しいなと思ったので、プラグインを探しました。割合古いものですが、見やすいので大分気に入っています。
python_fold - Folding expression for python : vim online
これを ~/.vim/plugin の下に設置すればそれでおkです。
落としてきて言われた通り置くと、確かに折りたためてる!すげー!
しかし、当然だがcythonのコードには対応していない。
cython用のカスタマイズしたので、その方法をここに記す。
(たいしたことはしてないが)
"def"で検索し、以下の箇所が該当したので、そこにちょこっとコードを追加する。
" Classes and functions get their own folds if line =~ '^\s*\(class\|def\)\s' return ">" . (ind / &sw + 1) endif
このコード↑を、こう↓
(書き換えてるのは2行目のif文の条件だけ)
" Classes and functions get their own folds if line =~ '^\s*\(class\|def\|cdef\|cpdef\)\s' && line =~ ':\s*$' return ">" . (ind / &sw + 1) endif
正直、正規表現はよく分からんが、class、def、cdef、cpdefで始まってコロン(:)で終わる行があったら折りたたむ動きができてるはず。
Vim script テクニックバイブル ~Vim使いの魔法の杖
- 作者: Vim scriptサポーターズ
- 出版社/メーカー: 技術評論社
- 発売日: 2014/08/06
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る