Отступы в питоне

При использовании вима во время написания программ на питоне может быть масса проблем, связанных с отступами. В принципе это может лечиться установкой соответствующих плагинов, но если нет желания тратить время на это, то стандартизировать отступы можно таким набором команд в .vimrc
{{{ line=1 lang=vim
autocmd BufRead,BufNewFile *.py set expandtab
autocmd BufRead,BufNewFile *.py set tabstop=4
autocmd BufRead,BufNewFile *.py set shiftwidth=4
}}}

Если же уже имеется некоторый код, в котором перемешаны табуляции и пробелы, то привести всё к унифицированному виду (с учётом того, что нужные строки уже прописаны) можно командой

{{{ lang=vims line=1
:%retab
}}}

Beautifier для vim

Когда пишешь какой-нибудь скрипт или программу, то следить за отступами очень не хочется. Для решения этой проблемы используются всевозможные beautifier, не знаю, как их называют по русски. В случае с вимом есть очень элегантное готовое решение.

Для начала надо проверить, есть ли поддержка отступов для данного типа файлов в имеющейся версии вима.

:filetype

Если vim ответит что-то вроде

filetype detection:ON  plugin:ON  indent:ON

то значит, что всё хорошо и поддержка отступов включена. Если она не включена, то тогда надо искать плагины, которые умеют работать с данным типом файлов.

В том случае, когда всё хорошо, то достаточно в командном режиме набрать команду типа такой

gg=G

Здесь gg – это перейти к началу файла, = означает обрабатывать файл до точки остановки (да-да, как раз этот знак равенства и есть бьютифаер), G – означает двигаться до конца файла.

Разумеется, если понятно, как этот механизм работает, то можно создавать макросы, делать обработчики кусков кода и прочее.