В Python по умолчанию табуляция обрабатывается как 8 пробелов. Если вы пропускаете отступы, вам, как правило, нужно переключать вкладки на пробелы (или наоборот, но я обычно нахожу, что с пробелами легче иметь дело).Поэтому убедитесь, что vim показывает табуляцию шириной 8 пробелов (:set ts=8
), чтобы увидеть, что видит Python.
Чтобы исправить ошибки табуляции в vim, я обычно делаю следующее: сначала мне нужно уметьчтобы увидеть вкладки, я включил поиск по выделенным областям (:set hlsearch
) и поиск по вкладкам (/\t
).Затем я наблюдаю за областями, которые необходимо повторно пометить.Затем я пытаюсь найти правильную настройку ширины вкладки vim для файла (:set ts=n
и изменять n
, пока все не будет выглядеть хорошо), включить расширение вкладки (:set et
), а затем запустить автоматическое исправление вкладки (:retab
),Когда все остальное терпит неудачу, перезагрузите вручную.
Если вы используете управление версиями, обязательно внесите изменения в файлы перед изменениями и вручную убедитесь, что вы не внесли ошибку из-за непреднамеренных изменений в уровне отступов.Если вы не используете контроль версий, сохраните резервную копию и запустите diff для файлов.