vi
内でXMLテキストを「きれい」にする簡単な方法はありますか?
例えば:
これ欲しい..
<person>
<name>Nick</name>
<age>26</age>
<gender>male</gender>
<occupation>doctor</occupation>
</person>
これになる...
<person>
<name>Nick</name>
<age>26</age>
<gender>male</gender>
<occupation>doctor</occupation>
</person>
私はこれで最も運が良かった:
:%!xmllint --format %
ただし、タグについては厳密なので、開始タグと終了タグが一致しない場合はエラーになります。また、XML宣言がない場合は、ファイルの先頭にXML宣言を追加します。
このページでは次のことをお勧めしますが、動作させることはできません:
:set filetype=xml
:filetype indent on
gg=G
私はそれをテストしました、そして、それはいくらかうまくいくようです。完璧ではありませんが、仕事は完了です。
それがうまくいかない場合は、Pythonでminidomを使用してフォーマットすることができます。
import xml.dom.minidom
xml = xml.dom.minidom.parse(filename)
formatted_xml = xml.toprettyxml()