问题描述

有没有一些插件可以在 Vim 中折叠 HTML 标签?还有另一种方法来设置折叠或展开 html 标签的快捷方式?我想像折叠折叠一样折叠/展开 html 标签。

最佳解决方法

我发现 zfat(或同样地,zfit) 适用于 HTML 文档的折叠。 za 将切换 (打开或关闭) 现有的折叠。 zR 打开当前文档中的所有折叠,zM 有效地将 re-enables 中的所有现有折痕标记在文档中。

如果您发现自己使用褶皱广泛,您可以为您自己的.vimrc. 中的一些方便的按键绑定

次佳解决方法

如果缩进您的 HTML,以下内容应该有效:

set foldmethod=indent

这个问题,我发现,有太多的折叠。为了解决这个问题,我使用 zOzc 分别打开和关闭嵌套折叠。

有关详细信息,请参阅 help fold-indent

The folds are automatically defined by the indent of the lines.

The foldlevel is computed from the indent of the line, divided by the
'shiftwidth' (rounded down).  A sequence of lines with the same or higher fold
level form a fold, with the lines with a higher level forming a nested fold.

The nesting of folds is limited with 'foldnestmax'.

Some lines are ignored and get the fold level of the line above or below it,
whichever is lower.  These are empty or white lines and lines starting
with a character in 'foldignore'.  White space is skipped before checking for
characters in 'foldignore'.  For C use "#" to ignore preprocessor lines.

When you want to ignore lines in another way, use the 'expr' method.  The
indent() function can be used in 'foldexpr' to get the indent of a line.

第三种解决方法

安装 js-beautify 命令 (JavaScript 版)

npm -g install js-beautify  
wget --no-check-certificate https://www.google.com.hk/ -O google.index.html  
js-beautify -f google.index.html  -o google.index.bt.html  

http://www.google.com.hk orignal html:

js-beautify 和 vim 折叠:

第四种方法

再加上詹姆斯·赖的回答。最初我的 foldmethod =语法,所以 zfat 将无法工作。解决办法是将折叠方法设置为手动

:setlocal foldmethod=manual

检查使用哪种折叠方法,

:setlocal foldmethod?

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛