シフトコマンドで挿入/削除するスペースの量を設定する
shiftwidth
オプションに設定した値は、>>
コマンドなどで行頭に挿入するスペースの数を示します。
:set shiftwidth=4 " デフォルトは 8
タブストップ (tabstop
) と混同しがちなので注意してください。
タブストップは、タブ文字を入力した場合に表示位置をどこへずらすかの基準を指定します。
シフトコマンド (>>
) に効いてくる値はあくまで shiftwidth
の方です。
シフトしたときに shiftwidth の値の倍数になるようにスペースを挿入する
シフトコマンド(>>
など)を実行すると、行の先頭に shiftwidth
で設定した数だけスペースが挿入されます。
このとき、すでに行頭に何文字かのスペースが存在する場合に、スペース数が shiftwidth
の倍数になるように調整してスペースを挿入したい場合は、次のように shiftround
を有効化します(デフォルトはオフ (noshiftround
) です)。
:set shiftround "シフトコマンドでのインデント量を丸める
vim.opt.shiftround = true -- シフトコマンドでのインデント量を丸める
ほとんどの場合は、行頭からのインデント量は 2 の倍数とか 4 の倍数とかに揃えておきたいはずなので、shiftround
はセットしておくことをお勧めします。