XML Beautifier für vim?

8

Gibt es einen vim-Befehl oder ein Plugin, das XML schnell "verschönert"?

Ich habe eine Datei, die aussieht wie

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

und ich möchte, dass es so aussieht

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

Antworten:

10

Verwenden Sie nur vim builtins:

Ersetzen Sie zuerst alle> <durch> [newline] <:

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

Dann zur Erinnerung:

gg=G

Diese Schritte geben mir die richtige Ausgabe für Ihre Beispieldaten.

redigiert
quelle
1
Ich weiß nicht warum, aber das gg = G funktioniert bei mir nicht. Ich habe es auch mit einem kleinen Bock versucht, aber der Befehl = funktioniert nicht.
Sixtyfootersdude
Funktioniert == in einer einzelnen Zeile? Versuchen Sie vielleicht: set ft = xml, um Einrückungsregeln festzulegen.
redigiert