Существует множество хороших инструментов, которые могут конвертировать текст между двумя форматами:
- пар: для переноса жестких строк.
- pandoc: для HTML, LaTeX, rst и Markdown
autopep8: для синтаксического анализа кода Python в AST и выдачи его как pep8-совместимого.
...
Vim предназначен для использования таких утилит с помощью мощных настроек formatprg
. Это по умолчанию сопоставлено с оператором gq. Хорошо работает с движениями Vim, текстовыми объектами Vim, выделениями и т. Д.
Например, я использую настройку ниже для моих файлов Python
au FileType python setlocal formatprg=autopep8\ --indent-size\ 0\ -
У Джона МакФарлна есть хорошая статья о создании специализированного скрипта с использованием pandoc, который вы можете вставить в ваш vimrc.