Vim: сделать XML-текст «красивым»

Есть ли в vi простой способ сделать ваш XML-текст "красивым"?

Например:

Я хочу этот..

            <person>
  <name>Nick</name>
 <age>26</age>

         <gender>male</gender>
<occupation>doctor</occupation>

    </person>

быть этим (включая пробелы)...

<person>

    <name>Nick</name>
    <age>26</age>
    <gender>male</gender>
    <occupation>doctor<occupation>

</person>

Я пробовал использовать эти команды в vi:

:set filetype=xml
:filetype indent on
gg=G

Но это просто удаляет все мои отступы, которые у меня были. Итак, теперь все выглядит так:

<person>
<name>Nick</name>
<age>26</age>
<gender>male</gender>
<occupation>doctor</occupation>
</person>

person Rob Avery IV    schedule 24.01.2013    source источник
comment
См. следующий вопрос: stackoverflow.com/questions/7600860/   -  person Mauritz Hansen    schedule 12.02.2013
comment
Одна проблема с предоставленным вами xml заключается в том, что тег занятия не закрыт должным образом. Если это правильно сформированный XML, vim должен выполнить свою работу с учетом вариантов, которые вы пробовали.   -  person amit    schedule 02.04.2013