
Я прочитал следующее о параметре 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
Теперь, чтобы сделать отступ в коде вправо, мы используем
сдвиг + >
И, чтобы сделать отступ в коде влево, мы используем
сдвиг + <