Недавно я начал использовать vim 7 (ранее vim 6) и настройку smartindent
. По большей части, он работает хорошо, хотя я так привык печатать вкладку после открытой скобки, что она почти контрпродуктивна.
Тем не менее, есть одна часть маниакального поведения. При редактировании оболочки script я пытаюсь создать комментарий на текущем уровне отступа, но smartindent
не будет иметь к этому никакого отношения. Он настаивает на том, что комментарий должен быть на уровне 0 (без отступа). Что еще хуже, он перерывает shift-right ( ">>
" и друзей), чтобы они не работали. Это прямое неповиновение, и я хотел бы знать, как лучше всего это исправить?
(Я также не увлекаюсь идеями smartindent
об отстуке then
после if
.)
Предпочтительные решения избавят меня от ручного избиения - я ленив. Одним из вариантов было бы "отключить smartindent
при редактировании сценариев оболочки (оставьте это для остальных)". Другим вариантом будет руководство по поиску элемента управления script для smartindent
и что нужно изменить для изменения характеристик, которые мне не нравятся. Окончательный вариант (которому мне не нужен совет о том, как это сделать - просто намек на то, что это лучший или единственный способ восстановить здравомыслие) - оставить smartindent
unset.
Я видел неопределенный вопрос о (PHP и) раздражающих правилах vim unindent"; он не дает мне прямого ответа, хотя, возможно, cindent
и связанные с ним элементы, упомянутые в нем, фактически являются частью ответа.