タブとかスペースとかのオプション

なんか結構ややこしい、vimのtabとか関係のオプション。要はtabしたときの挙動とかが変わるんだけど、いっぱい同じようなのがあってよくわからない。
ので、件の勉強会エントリのトラバからたどったPeace Pipe: はてな技術勉強会 .vimrc 説明補足 [vim]を元にまとめさせていただく。

expandtab

  • tabの入力をspaceに置き換える
    • とりあえずこれは把握

tabstop, shiftwidth, softtabstop

これがちょっちややこいので、それぞれ書き出す。

tabstop
  • ファイル中の文字を、見た目で何文字分に展開するかの値
    • 既に入力されているものをどう表示するか
shiftwidth
  • vimが自動で挿入するインデントの値。cindent,autoindentなど
softtabstop
  • キーボードで入力したで挿入される空白の量。
  • 値が0の場合、tabstopの値が適用される。

まとめ

とりあえず、バイト先ではタブはスペースで2個なので、

expandtab

tabstop=2
shiftwidth=2
softtabstop=0

でよさそう?
なぁんとなく把握できたけど、まだちょっとexpandtabとの関連性とかがびみょい。
まぁでもとりあえずこんなんでいいかな。