XML Beautifier untuk vim?

8

Apakah ada perintah atau plugin vim yang dengan cepat "mempercantik" XML?

Saya memiliki file yang mirip

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

dan saya ingin membuatnya terlihat seperti

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

Jawaban:

10

Hanya menggunakan vim builtins:

Pertama ganti semua> <dengan> [baris baru] <:

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

Kemudian untuk reindent:

gg=G

Langkah-langkah ini memberi saya output yang tepat untuk data contoh Anda.

dihapus
sumber
1
Tidak yakin mengapa tetapi gg = G tidak berfungsi untuk saya. Saya juga mencobanya pada bock kecil tetapi perintah = tidak berfungsi.
sixtyfootersdude
Apakah == bekerja pada satu baris? Mungkin coba: set ft = xml untuk menetapkan aturan indentasi.
dihapus