Мне нравится ответ Берея. Тем не менее, я думаю, что следующее немного более гибко, поскольку вам не нужно изменять свой vimrcфайл. Кроме того, легче форматировать отдельные части XML-файла (что я часто делаю).
Сначала выделите XML, который вы хотите отформатировать.
Затем в обычном режиме введите ! xmllint --format -
Ваша командная строка внизу будет выглядеть так:
:'<,'>!xmllint --format -
Затем нажмите Enter.
Техническое объяснение
Выбранный текст отправляется xmllintкоманде, затем --format'ed, и результаты xmllintпомещаются поверх выбранного текста в vim. Значок -в конце команды предназначен для получения стандартного ввода - в данном случае это выделенный текст, который отправляет vim xmllint.