我将一大段 XML 粘贴到 gVim(Windows 系统)中进行编辑。生成 XML 的工具没有添加任何换行符,因此 XML 粘贴为一行,这使得阅读/编辑/验证变得相当困难。我尝试了常用的格式化技巧gg=G
,但这没有任何效果,可能是因为将所有内容放在一行上并不是坏的格式。有没有一种快速简便的方法力量换行和格式?
答案1
:s/>/\r>/g
然后離子=gg
答案2
除了使用 xmllint 之外,我发现我可以使用 2 个正则表达式来清理它:
:s/></>\r</g
:%s/<\(.*\)>\n\s*<\/\1>/<\1><\/\1>
然后运行gg=G
。第二个正则表达式的目的是修复以下问题:
<a>
</a>
并将它们变成<a></a>
似乎运行正常,我找不到任何丢失或损坏的数据。我想我可以把整个东西做成宏或类似的东西……