Embelezador XML para vim?


8

Existe um comando ou plugin do vim que "embeleza" rapidamente o XML?

Eu tenho um arquivo que parece

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

e eu quero fazer parecer

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

Respostas:


10

Utilizando apenas os recursos internos do vim:

Primeiro substitua todos> <por> [newline] <:

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

Então, para reindentar:

gg=G

Essas etapas fornecem a saída correta para seus dados de exemplo.


1
Não sei por que, mas o gg = G não está funcionando para mim. Eu também tentei em um pequeno lote, mas o comando = não está funcionando.
sixtyfootersdude

== funciona em uma única linha? Talvez tente: defina ft = xml para definir regras de recuo.
redigido
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.