Ответ 1
:set cinoptions=l1
(что буква ell сопровождается номером один)
Посмотрите: help cinoptions-values для строки по умолчанию и описания различных параметров.
В настоящее время я сражаюсь с Vim, я не могу заставить опции отступов делать то, что хочу.
Вот мои настройки, я поставил их внизу .vimrc, чтобы убедиться, что они имеют приоритет. Как вы можете видеть, я немного сумасшедший, поэтому я попытался отключить почти все:
set cindent
set cinkeys=o,O
set cinoptions=
set cinwords=
set indentexpr=
В большинстве случаев он работает нормально, он делает один отступ после открытия блока, и все в порядке. Но есть один случай, который сводит меня с ума, когда есть {
после инструкции case
, следующая строка слишком далеко отложена:
switch () {
case CASE: {
// <-- next line gets indented to here, why??
// <-- should be indented to here
Как я могу заставить это прекратить это делать? ТИА
:set cinoptions=l1
(что буква ell сопровождается номером один)
Посмотрите: help cinoptions-values для строки по умолчанию и описания различных параметров.
Когда я вручную ввожу команды set
, я не получаю никаких отступов. Вы просмотрели вывод :set all
, чтобы подтвердить, что ваши настройки не переопределены?
Примечание. Вероятно, это должно быть в комментарии, но этот параметр сейчас мне не разрешен.
Если indent является пробелом N (замените N на фактическое значение), попробуйте выполнить
set cinoptions=p0,t0,:N,=0
set cinwords=if,else,switch,case,for,while,do
set cindent
: N → поместить метку "case" 0 символов из отступа указателя
= 0 → отступы для операторов в метке case