gVim-强制在大文件中换行

gVim-强制在大文件中换行

我将一大段 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>

似乎运行正常,我找不到任何丢失或损坏的数据。我想我可以把整个东西做成宏或类似的东西……

相关内容