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

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

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

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

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

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

EN

回答 10

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用户

发布于 2013-10-14 07:16:01

正如上面tylerl所解释的,设置以下内容:

代码语言:javascript
复制
:filetype indent on
:set filetype=html
:set smartindent

但是,请注意,在vim 7.4中,默认情况下HTML标记htmlheadbody和其他一些标记是而不是缩进的。这是有意义的,因为HTML文件中的几乎所有内容都位于这些标记之下。如果你真的想,你可以让这些标签缩进,如下所示:

代码语言:javascript
复制
:let g:html_indent_inctags = "html,body,head,tbody" 

更多信息请参见"HTML indenting not working in compiled Vim 7.4, any ideas?“和"alternative html indent script”。

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

https://stackoverflow.com/questions/815548

复制
相关文章

相似问题

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