tl; dr: set tabstop=4 softtabstop=-1 shiftwidth=0 expandtab
formato curto: set ts=4 sts=-1 sw=0 et
Explicação
Se você definir softtabstop
(ou sts
) como -1
, ele se comportará automaticamente
igual a tabstop
( ts
), o que poupará algum incômodo se você alterar muito a tabulação. A configuração de shiftwidth
( sw
) para 0
deve efetivamente fazer
que o mesmo que tabstop
também.
Em detalhes
shiftwidth
sw
Number of spaces to use for each step of (auto)indent. Used for cindent
, >>, <<, etc.
When zero the tabstop
value will be used.
tabstop
ts
Number of spaces that a in the file counts for. Also see
:retab command, and
softtabstop
option.
softtabstop
sts
Number of spaces that a Tab counts for while performing editing
operations, like inserting a Tab or using BS. It
feels like Tabs are being inserted, while in fact a mix of spaces
and s are used. This is useful to keep the tabs
is setting at its
standard value, while being able to edit like it is set to sts
. When
sts
is negative, the value of shiftwidth
is used. This will save you
some hassle if you change tabstops a lot. When expandtab
is not set, the
number of spaces is minimized by using Tabs.
expandtab
et
In Insert mode: Use the appropriate number of spaces to insert a .
Spaces are used in indents with the > and < commands
and when autoindent
is on. To insert a real tab when expandtab
is on,
use Ctrl-V Tab. See also
:retab