Beautifier XML dla vim?

8

Czy istnieje polecenie lub wtyczka vim, która szybko „upiększa” XML?

Mam plik, który wygląda

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

i chcę, żeby to wyglądało

<parent>
  <child attr="bla">
    <subitem>Hello!
    </subitem>
  <child>
<parent>
Michael Stum
źródło

Odpowiedzi:

10

Używanie tylko wbudowanych vimów:

Najpierw zamień wszystkie> <na> [newline] <:

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

Następnie reindent:

gg=G

Te kroki dają mi odpowiednie dane wyjściowe dla przykładowych danych.

zredagowane
źródło
1
Nie jestem pewien, dlaczego, ale gg = G nie działa dla mnie. Próbowałem też na małym bocku, ale polecenie = nie działa.
sixtyfootersdude
Czy == działa na pojedynczej linii? Może spróbuj: ustaw ft = xml, aby ustawić reguły wcięć.
zredagowano