まくまくVimノート
インデント(シフトコマンド)の設定 (shiftwidth, shiftround)
2007-02-20

シフトコマンドで挿入/削除するスペースの量を設定する

:set shiftwidth=4    #デフォルトは 8

shiftwidth オプションに設定した値は、>> コマンドなどで行頭に挿入するスペースの数を示します。

タブストップ (tabstop) と混同しがちなので注意してください。 タブストップは、タブ文字を入力した場合に表示位置をどこへずらすかの基準を指定します。 シフトコマンド (>>) に効いてくる値はあくまで shiftwidth の方です。

シフトしたときに shiftwidth の値の倍数になるようにスペースを挿入する

シフトコマンド(>> など)を実行すると、行の先頭に shiftwidth で設定した数だけスペースが挿入されます。 このとき、すでに行頭に何文字かのスペースが存在する場合に、スペース数が shiftwidth の倍数になるように調整してスペースを挿入したい場合は次のように設定します。

:set shiftround    "デフォルトはオフ

参考

2007-02-20