我目前有一个巨大的HTML文件,它没有换行符,只显示在一行中。
我想在vim中格式化(特别是macvim)。我尝试了以下选项,但没有一个对我有效。
有没有办法使用插件或其他方式?
谢谢!
答案 0 :(得分:38)
启动它的一种方法是将所有标签分成各自的行。
:s/<[^>]*>/\r&\r/g
:g/^$/d
如果您有浮动<
或>
符号(例如无效的HTML,JavaScript比较运算符,CSS直接后代选择器部分),这将无法正常工作,您可以切换到类似的做法结束标记 - <\/[^>]*>
。无论如何,它提供了一个坚实的开端。
<强>演示:强>
使用这样的理想化文档,
<!DOCTYPE html><html><head><title>hello</title></head><body>world</body></html>
这产生了这个:
<!DOCTYPE html>
<html>
<head>
<title>
hello
</title>
</head>
<body>
world
</body>
</html>
然后,=
将产生你想要的东西:
<!DOCTYPE html>
<html>
<head>
<title>
hello
</title>
</head>
<body>
world
</body>
</html>
答案 1 :(得分:3)
为了获得更好的结果,您应该使用专门的外部格式程序。
您可以通过安装插件tidy自动集成html-beautify和vim-autoformat。 之后,您可以通过一次击键执行安装的任何格式化程序。
答案 2 :(得分:0)
最好使用整洁的实用程序as described in this answer。
已经为这项工作编写了好的工具