Vim автоматически удаляет добавление отступа на комментариях Python [дубликат]

75
задан puk 8 December 2011 в 18:39
поделиться

2 ответа

Установка smartindent on заставляет Vim вести себя так, как вы описываете для меня, тогда как с nosmartindent (это то, что я склонны использовать), он ведет себя так, как вы предпочитаете.

Обновление: Из документации на smartindent :

При вводе '#' в качестве первого символа в новой строке отступ для этой строки удаляется, знак '# 'помещается в первый столбец. Отступ восстанавливается для следующей строки. Если вы этого не хотите, используйте это сопоставление : ": inoremap # X ^ H #", где ^ H вводится с помощью CTRL-V CTRL-H. При использовании "> > ", строки, начинающиеся с '#', не сдвигаются вправо.

Кажется, это так.


Обновление: Наверное, не стоит беспокоиться о следующем ... Я оставлю это здесь для дополнительной информационной ценности. ; -)

Если настройка nosmartindent не помогает, возможно, вы могли бы использовать команду : set - без параметров - для получения списка всех действующих настроек в сеансе Vim, затем вставьте его куда-нибудь (возможно, на Pastie ). Насколько я помню, есть еще несколько параметров, которые влияют на автоматический отступ.

57
ответ дан 24 November 2019 в 11:43
поделиться

Хотя сообщение Михала объясняет, что делает smartindent, вы можете сделать гораздо больше, чем просто отключить его. Вы можете настроить его по своему вкусу, или, что ещё лучше, позволить Vim выбрать лучший отступ для вас. Если в vimrc вместо других настроек отступов указать следующее:

filetype indent on

Vim будет автоматически использовать подходящий плагин отступов для python. Это намного лучше, чем просто не удалять отступы в # строке - практически всё должно быть правильно отделено.

18
ответ дан 24 November 2019 в 11:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: