Autoindent - это подмножество smartindent в vim?
: help autoindent: копировать отступ из текущей строки при запуске новой строки (ввод текста в режиме Вставки или при использовании команды "o" или "O" )....
: help smartindent. Устанавливайте интеллектуальное автоматическое задание при запуске новой строки. Работает для C-like программ, но также может использоваться для других языков....
Обычно при использовании "smartindent" также следует включать "autoindent".Отступ автоматически вставлен:
- После окончания строки в '{'.
- После строки, начинающейся с ключевого слова из 'cinwords'.
-
Перед строкой, начинающейся с '}' (только с командой "O" ).
При вводе '}' в качестве первого символа в новой строке эта строка учитывая тот же отступ, что и совпадение '{'....
smartindent также справляется с отступом от текущей строки при запуске новой строки. Это означает, что функция autoindent - это подмножество функции smartindent и не требуется autoindent, если включено smartindent, правильно? Почему автоопределение должно быть включено?
Ответы
Ответ 1
smartindent
является старым script, который имел в виду, когда он был написан, как "умное" дополнение к autoindent
. С тех пор большинство языков имеют либо конкретные функции отступов, либо используют cindent
с определенными опциями.
Как правило, smartindent
не следует использовать вообще.
Следующие строки обычно достаточно для обработки отступов:
set autoindent
filetype plugin indent on
autoindent
не является строго необходимым, но хорошо иметь его при работе с открытым текстом.