tl; dr: set tabstop=4 softtabstop=-1 shiftwidth=0 expandtab
краткая форма: set ts=4 sts=-1 sw=0 et
объяснение
Если вы установите softtabstop
(или sts
) на -1
он будет автоматически вести себя так же, как tabstop
(ts
), что избавит вас от хлопот, если вы сильно измените табуляции. Установка shiftwidth
(sw
) в 0
должна эффективно сделать то же самое, что и tabstop
.
В деталях
shiftwidth
sw
Количество пробелов для каждого шага (авто) отступа. Используется для cindent
, >> , << и т.д.
Когда ноль, будет использовано значение tabstop
.
tabstop
ts
Количество пробелов, которые в файле учитываются. Также смотрите : команда retab и опция softtabstop
.
softtabstop
sts
Количество пробелов, на которые рассчитывает вкладка при выполнении операций редактирования, таких как вставка вкладки или использование BS. Такое ощущение, что вкладки Tab вставляются, хотя на самом деле используется комбинация пробелов и s. Это полезно для того, чтобы tabs
настраивались на стандартное значение, и в то же время могли редактировать, как для sts
. Когда sts
отрицательно, используется значение shiftwidth
. Это избавит вас от хлопот, если вы сильно меняете табуляции. Если не expandtab
, количество пробелов минимизируется с помощью табуляции.
expandtab
et
В режиме вставки: используйте соответствующее количество пробелов для вставки.
Пробелы используются в отступах с помощью команд > и < и при autoindent
. Чтобы вставить реальную вкладку при expandtab
, используйте Ctrl - V Tab . Смотрите также : retab