vimの罠
たしかに vim の対応シンタックスは多い。SSH や Apache の設定ファイルをいじっているときにも Syntax Highlight が効いたりして、びっくりすることもある。
でも、設定に気をつけないと Ruby や、Python ではひどい目に合う。
例1、Ruby の場合。cindent sw=3
# before def foo puts 'foo' end foo def bar(x) if x puts 10 else puts 5 end end bar 1
# after def foo puts 'foo' end foo def bar(x) if x puts 10 else puts 5 end end bar 1
例2、Python の場合(cindent sw=4)。
# before def foo(): print 'foo' foo() def bar(x): if x: print 10 else: print 5 bar 1
# after def foo(): print 'foo' foo() def bar(x): if x: print 10 else: print 5 bar 1
まぁ、
filetype indent on
としておけば良いだけの話なんだけどね。
あと、vim のインデント設定には smartindent、autoindent、cindent があったりして。まぁ、cindent しか使ってないんだけど。しかも cindent の設定の cinoptions なんか完全に human unreadable な感じ。