てきとうなメモ

本の感想とか技術メモとか

vimのタブとかスペースとか

毎回忘れてしまうので。

tabstop タブの表示幅
softtabstop タブやバックスペースを押した時の追加/削除される空白の数
shiftwidth インデントに使われる空白の数
expandtab タブをスペースに変換するかどうか
autoindent 改行する直前の行と同じだけインデントするかどうか

expandtabが有効な場合はtabstopのサイズを基準にしてタブや空白が挿入/削除される。

tabstop softtabstop タブを押した場合
4 2 空白2
4 4 タブ1
4 6 タブ1+空白2

空白使う場合はこんな設定

set expandtab
set tabstop=2
set softtabstop=2
set shiftwidth=2
set autoindent

タブ使う場合はこんな設定

set noexpandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent