回答:
私はこれで最も幸運でした:
:%!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()
gg=G
コマンドは実際には機能しませんでした。代わりに、以前のインデントをすべて削除しました。
:%!xmllint --format %
うまくいくようですので、それを投稿に追加しました。
qq0dt<jq
その後3@qj@@5k4I<space><esc>j.j.j.
。うわー、それはかなり不可解に見えます。