問題点
自分でsnippetを作成しようとしたらインデントが反映されない問題が発生した。
Pythonでインデントされないのはかなり致命的...
原因
snippet内でインデントが深くなるものを使用するときは、ハードタブで書かないとダメらしい... つまり 'set expandtab'を使用しているとインデントされない
解決方法
':setl noexpandtab'をしてハードタブを使用すればうまくいく。
snippet.vimに上記のものを書いておくと、スニペットファイル編集時にはハードタブを使うようになるらしい。
setlはsetl(ocal)
最後に
pythonでは必要不可欠なexpandtabに逆に苦しめられるとは...
python3ではtabとspaceの混合インデントはエラーが発生するから、入れ替えてる人が多数だろうし、pep8ではインデントのスペース幅は4個分が推奨されてるからこれは盲点だった。
あと、snippetでtabつかってるのに、なんで混合インデントでエラーが起きないのか気になったから調べてみたら、コード全体で一つのインデント幅に固定されてるわけじゃなく、ブロックごとに統一されてればいいらしい。これは知らなかった...
参考文献
neosnippet のスニペットファイルを書く上での注意点
http://rhysd.hatenablog.com/entry/2012/11/11/222150
pythonのインデント
http://studylog.hateblo.jp/entry/2015/10/22/043739
↓こんな事例もあるらしい
vimでMakefileだけTabスペースではなくTabとして入力する
http://qiita.com/Lacty/items/23a89d2b999cb0e9fae1