Варіанти відступу Vim
Vim в основному використовує 3 налаштування щодо розміру відступу:
tabstop
, ts
:: коли Vim стикається з таблицею у файлі, який ви відкриваєте, він відображає вкладку у вигляді {ts} пробілів (див. довідку про стовпчик або введіть :help tabstop
Vim).
softtabstop
, sts
:: Ви редагуєте файл і натискаєте клавішу вкладки, Vim використовує це налаштування, щоб визначити ширину вставленої табуляції (див. довідку програмного перемикання або введіть :help softtabstop
Vim).
shiftwidth
, sw
: Кількість пробілів Вім використовує при відступів, або з допомогою автовідступ матеріал або звичайний >>
, <<
команди. Як зауважила Гептит, саме це ви шукали в даному конкретному випадку. І останні версії Vim дійсно дозволяють вам не визначати цей параметр, shiftwidth
і тоді приймете значення, визначене tabstop
. Досить зручно (див. Довідку про ширину зсуву ).
Приклад
Наприклад, якщо ви користуєтесь такими налаштуваннями:
set sts=4
set ts=2
set sw=8
Це призведе до такої поведінки:
- Якщо вставити таблицю у файл, ви отримаєте відступ на 4 простори.
- Якщо у вас
tabstop
встановлено 2, це насправді буде еквівалентом двох таблиць. Це досить легко перевірити, просто використовуйте параметри list
та listchars
параметри для відображення таблиць.
- Якщо відступати рядок за
>>
допомогою відступу, він буде шириною 8 пробілів (отже, еквівалент 4 таблиць, виходячи із tabstop
значення, таке ж, як вище).
Рекомендації щодо відступу Vim (з документації Vim)
З tabstop
довідки ( :help tabstop
у Vim):
There are four main ways to use tabs in Vim:
1. Always keep 'tabstop' at 8, set 'softtabstop' and 'shiftwidth' to 4
(or 3 or whatever you prefer) and use 'noexpandtab'. Then Vim
will use a mix of tabs and spaces, but typing <Tab> and <BS> will
behave like a tab appears every 4 (or 3) characters.
2. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
'expandtab'. This way you will always insert spaces. The
formatting will never be messed up when 'tabstop' is changed.
3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
|modeline| to set these values when editing the file again. Only
works when using Vim to edit the file.
4. Always set 'tabstop' and 'shiftwidth' to the same value, and
'noexpandtab'. This should then work (for initial indents only)
for any tabstop setting that people use. It might be nice to have
tabs after the first non-blank inserted as spaces if you do this
though. Otherwise aligned comments will be wrong when 'tabstop' is
changed.
Я особисто використовую в основному друге рішення, в якому розміщені 2 простори.
set ts=2
set sts=2
set et "expand tabs to spaces
ts
як 2, 4 або 8