当前位置:  开发笔记 > 前端 > 正文

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

如何解决《如何在VI中整理HTML文件的缩进?》经验,为你挑选了6个好方法。

如何修复他的巨大html文件的缩进,这些文件都搞砸了?

我尝试了通常的"gg = G"命令,这是我用来修复代码文件缩进的命令.但是,它似乎不适用于HTML文件.它只是删除了所有格式.

我也试过设置"gg=G,看看是否欺骗它认为这是一个XML文件会有所帮助,但它仍然没有做到.



1> tylerl..:

有几件事都需要到位.只是在一个位置总结它们:

设置以下选项:

:filetype indent on
:set filetype=html           # abbrev -  :set ft=html
:set smartindent             # abbrev -  :set si

然后将光标移动到文件的顶部并缩进到结尾:gg =G
或者选择要缩进的所需文本,然后单击=以缩进.



2> marcog..:

随着filetype indent on里面我的.vimrc,Vim的缩进HTML文件相当不错.

2的简单示例shiftwidth:


  
    

text


来自http://www.chovy.com/web-development/fix-indentation-and-tabs-in-vim/发现我需要在文件类型缩进后使用:e重新加载文件.
这个对我有用.set ft = html set si gg = G .格式化这页很好.
复制将此问题页面的html粘贴到html文件中.使用VIM打开,键入"set smartindent",然后键入"gg = G",它不会修复文件的缩进.
+1验证"文件类型缩进开/关"可以打开或关闭魔术.
是的,设置智能缩进后,filetype = html和filetype ident就可以了.
请注意,在`vim 7.4`中,默认缩进设置将为此示例**失败**,因为`html`,`body`和`p`默认情况下不缩进.见[本回答](http://stackoverflow.com/a/19351416/446554).

3> oscaroscar..:

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

:!tidy -mi -xml -wrap 0 %

这基本上告诉VI调用整理来清理一个XML文件而不是包装行以使它们适合默认的68个字符宽的行.我处理了一个大的29MB XML文件,花了5或6秒钟.我猜对于HTML文件,命令应该是:

:!tidy -mi -html -wrap 0 %

正如评论中所提到的,这tidy是一个基本工具,您可以在许多基础Linux/MacOS系统上找到它.这是projet的页面,如果您希望拥有它,但不要:HTML Tidy.

希望这可以帮助.


同意@Isieber.但是,我想这会让人更容易理解逻辑,有些人甚至可能认为这是一种很好的做法.
@BrunoBronosky我评论了我的答案,你提出了你的观点:)

4> Cory Klein..:

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

:filetype indent on
:set filetype=html
:set smartindent
然而!

需要注意的是在VIM 7.4 html标签html,head,body,和其他一些人都不会默认缩进.这是有道理的,因为html文件中的几乎所有内容都属于这些标记.如果你真的想,你可以让这些标签缩进,如下所示:

:let g:html_indent_inctags = "html,body,head,tbody" 

有关更多信息,请参见此处和此处.



5> adam_0..:

这是我的解决方案,适用于以一个很好的间隔方式打开"丑陋"的HTML:

vim fileIn.html -c "set sw=2 | %s/>/>\r/ | execute 'normal gg=G' | set nohlsearch | g/^\\s*\$/d"

sw命令是因为我的默认值是4,这对于HTML来说太高了.

下一部分在每个元素(>)之后添加换行符(Vim认为它是一个回车,叹息)

然后使用重新缩进整个文件 =

然后unhighlight >(因为我set hlsearch在我的vimrc中)

然后删除所有空的/仅空白行(请参阅此处了解更多信息,这也是双重转义,因为它在shell中)

| wq! fileOut.html如果你根本不想进入Vim,你甚至可以添加到最后,但只需清理文件即可.



6> SimonW..:

我使用这个脚本:https: //github.com/maksimr/vim-jsbeautify

在上面的链接中,您拥有所有信息:

    安装

    配置(从第一个示例复制)

    :call HtmlBeautify()

工作做得很漂亮!


注意:这需要nodejs和https://www.npmjs.org/package/js-beautify
哈哈,为什么你要使用node + js来清理vim中的html,这个内置的功能比节点更长,甚至存在......让我大吃一惊......
推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有