首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在VI中整理HTML文件的缩进?

如何在VI中整理HTML文件的缩进?
EN

Stack Overflow用户
提问于 2009-05-02 20:26:57
回答 5查看 113.4K关注 0票数 144

我如何修复他的巨大html文件的缩进,这都是乱七八糟的?

我尝试了常用的"gg=G command,它是我用来修复代码文件缩进的工具。然而,它似乎在HTML文件上不能正常工作。它只是简单地删除了所有的格式。

我还尝试了设置:filetype = xml,看看让它认为这是一个XML文件是否有帮助,但它仍然不起作用。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-05-02 20:34:31

在我的.vimrc中有了filetype indent on,Vim可以很好地缩进.vimrc文件。

shiftwidth为2的简单示例:

代码语言:javascript
复制
<html>
  <body>
    <p>
    text
    </p>
  </body>
</html>
票数 96
EN

Stack Overflow用户

发布于 2013-11-14 01:43:22

使用智能缩排的主要问题是,如果XML (或HTML)位于一行中,因为它可能最终从curl请求返回,那么gg=G就不能解决这个问题。相反,我刚刚使用从VI直接调用的tidy进行了很好的缩进:

代码语言:javascript
复制
:!tidy -mi -xml -wrap 0 %

这基本上告诉VI调用tidy来清理XML文件,而不是对行进行换行以使它们适合默认的68个字符宽度的行。我处理了一个很大的29MB的XML文件,花了5到6秒。因此,对于HTML文件,命令应该是:

代码语言:javascript
复制
:!tidy -mi -html -wrap 0 %

正如评论中提到的,tidy是一个可以在许多基础Linux / MacOS系统上找到的基本工具。这是该项目的页面,以防您希望拥有它,但没有:HTML Tidy

票数 72
EN

Stack Overflow用户

发布于 2020-08-15 18:58:18

没有一个答案对我有效,因为我所有的HTML都在一行中。

基本上,您首先需要使用以下命令来换行,该命令用相同的字符替换><,但中间要换行。

代码语言:javascript
复制
:%s/></>\r</g

然后命令

代码语言:javascript
复制
gg=G

将缩进文件。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/815548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档