Я решил изменить размер вкладки с 4 на 2, потому что почему бы и нет? Любой, кто захочет взглянуть на код, может использовать свои предпочтения.
Однако вопрос.
Если я нажимаю клавишу табуляции, она вставляет 2, но автоиндент Vim все еще ставит 4. Что я могу изменить, чтобы сделать это 2?
Еще один не связанный вопрос: какой стиль отступа лучше всего подходит для C и подобных языков? Я использую 1TBS, но есть из чего выбирать. Кто-нибудь из них более профессиональный или предпочитаемый?
ts
2, 4 или 8Варианты отступов Vim
Vim в основном использует 3 параметра для размера отступа:
tabstop
,ts
: когда Vim встречает табуляцию в открываемом вами файле, он отображает вкладку в виде пробелов {ts} (см. справку по tabstop или введите:help tabstop
Vim).softtabstop
,sts
: когда вы редактируете файл и нажимаете клавишу табуляции, Vim использует этот параметр для определения ширины вставленной табуляции (см. справку softtabstop или введите:help softtabstop
Vim).shiftwidth
,sw
: Количество пробелов Вим использует при отступов, либо с помощью автоотступа материал или обычный>>
,<<
команды. Как заметил Гептит, это то, что вы искали в данном конкретном случае. И последние версии Vim действительно позволяют вам не определять эту опцию,shiftwidth
а затем принимают значение, определенное какtabstop
. Довольно удобно (см. Справку по shiftwidth ).пример
Так, например, если вы используете следующие настройки:
Это приведет к следующему поведению:
tabstop
установлено значение 2, это фактически эквивалентно двум таблицам. Это довольно легко проверить, просто используйте параметрыlist
иlistchars
для отображения таблиц.>>
, отступ будет иметь ширину 8 пробелов (следовательно, эквивалент 4 таблиц, основанных наtabstop
значении, как указано выше).Рекомендации по отступам Vim (из документации Vim)
Из
tabstop
справки (:help tabstop
в Vim):Лично я использую в основном второе решение с таблицами шириной в 2 пробела.
источник
Согласно http://vim.wikia.com/wiki/Indenting_source_code , команда 'intype on plugin filetype plugin' заставит программу использовать специфичные для filetype сценарии отступов, расположенные в подкаталоге indent установки Vim. На этой странице также говорится, что «cindent» автоматически используется в файлах C и C ++, и вам не нужно использовать эту команду вручную.
Я не очень знаком с Vim, так как я использую его только для некоторого периодического базового редактирования текста, но я бы попытался вручную ввести команду 'cindent', чтобы использовать размер автоиндента Vim по умолчанию для этого кода. Если это не сработает, вы можете попробовать «отступ для плагина filetype» и отредактировать сценарии самостоятельно, чтобы получить нужные отступы.
источник