¿Embellecedor XML para vim?

8

¿Existe un comando o complemento vim que rápidamente "embellece" XML?

Tengo un archivo que se parece a

<parent><child attr="bla"><subitem>Hello!
</subitem></child>
</parent>

y quiero que parezca

<parent>
  <child attr="bla">
    <subitem>Hello!
    </subitem>
  <child>
<parent>
Michael Stum
fuente

Respuestas:

10

Usando solo vim builtins:

Primero reemplace todo> <con> [nueva línea] <:

:%s/></>\r</g

Luego a reindent:

gg=G

Estos pasos me dan la salida correcta para sus datos de ejemplo.

redactado
fuente
1
No estoy seguro de por qué, pero gg = G no funciona para mí. También lo probé en un bock pequeño pero el comando = no funciona.
sixtyfootersdude
¿Funciona == en una sola línea? Quizás intente: establecer ft = xml para establecer reglas de sangría.
redactado el