以下の例を参照してください。
// Start vim without loading your vimrc. set only tabstop=8 softtabstop=4.
// This makes <Tab> in insert mode equals to 4 <Space> length at max.
// In insert mode, type 12, one <Tab>, 5. We get insertion below,
12··5
// Quit insert mode. Move cursor back, we find 2 <Space> inserted.
// In insert mode, type 12, two <Tab>, 9. We get insertion below,
12······9
// Quit insert mode. Move cursor back, you find a <Tab> inserted.
// In insert mode, type 12, three <Tab>, 3. We get insertion below,
12··········3
// Move the cursor back, you find a <Tab> and 4 <Space> inserted.
// We can even set sotftabstop=12, but this time we only need type one <Tab>, then 3.
12··········3
// Move the cursor back, you find a <Tab> and 4 <Sapce> inserted.
ではtabstop
、aのTab
定義の幅と、の入力softtabstop
中にカーソルが移動する距離についてです。同じ値に設定されていない場合、キーストロークを押しても、文字が些細なことではないことを意味します。どんな場合でも、挿入モードを終了すると決定するのはvimです。Vimはまず、挿入をできるだけ多く一致させようとします。最後に完全にできない場合、vimは単に補償します。 Tab
Tab
Tab
tabstop
tabstop
Space
もう少し話すには、を設定expandtab
すると、vimに言うのと同じです。
どのように多くの計算に気にしないでくださいTab
とSapce
必要とされています。単に挿入しSpace
ます。