Что делает shiftwidth в редакторе VIM

Что делает shiftwidth в редакторе VIM

Я прочитал следующее о параметре shiftwidth в Google: Чтобы изменить количество пробелов, вставляемых для отступа, используйте параметр «shiftwidth».

Ок, ок, но что это значит точнее? Как мне попробовать это, чтобы увидеть, что на самом деле происходит? Я создал новый файл C, затем добавил IF-конфирмацию, но ничего не происходит во время идентификации:

если (a > 0) { здесь ничего не происходит }

Спасибо!

решение1

Допустим, вы установили shiftwidth=2.

Во-первых, вам нужно убедиться, что файл имеет расширение .c. Либо с помощью

$ vim foo.c

для нового файла или сохранения файла с расширением .c.

Теперь введите

if (a > 0) {

и нажмите Enter. Следующая строка будет автоматически с отступом.

if (a > 0) {
  foo();

при добавлении символа '}' vim сделает соответствующий отступ.

if (a > 0) {
  foo();
}

Прочитай этодокументациядля большей ясности.

решение2

Я могу рекомендоватьэтот скринкасткДрю Нилкоторый объяснит, как работают вместе tabstop, softtabstop, shiftwidth и expandtab.

решение3

Другое важное применение shiftwidth — обеспечить правильный отступ для кода. Предположим, мы используем файл .yaml, в котором хотим сделать отступ для нескольких строк кода вместе.

мы устанавливаем shiftwidth с помощью

esc:установить shiftwidth=2

Теперь выберите тот, для которого вы хотите сделать отступ, с помощью клавиши

сдвиг + v

Теперь, чтобы сделать отступ в коде вправо, мы используем

сдвиг + >

И, чтобы сделать отступ в коде влево, мы используем

сдвиг + <

Связанный контент