vim如何折叠html标签

Joh*_*ohn 3 vim folding

我看到一些帖子说我应该使用zfat折叠html标签.所以我尝试了但没有得到我预期的结果.例如,我在我的文档中有这个

<div id="begin">
   <p>hello world</p>
      </div>
Run Code Online (Sandbox Code Playgroud)

我将光标移动到vim的第一行<div id="begin">.然后我按下逃跑以确保我处于命令模式.然后我按了键z,f,at.但什么都没发生.我甚至尝试打字z,f,a{,通常折叠的PHP代码块,但对HTML没有影响.

有人可以告诉我折叠html div标签的确切步骤吗?

谢谢

Ing*_*kat 13

zf确实是创建手动折叠的命令.要做到这一点,你需要有

:setlocal foldmethod=manual
Run Code Online (Sandbox Code Playgroud)

(将会有一个E350另有说明.)的at是一个文本对象一个标记.您可以通过将其应用于可视模式来检查它包含的内容:vat.

请注意,手动折叠是乏味的; 我建议使用内置HTML语法插件附带的语法折叠.刚刚放

:setlocal foldmethod=syntax
Run Code Online (Sandbox Code Playgroud)

~/.vim/after/ftplugin/html.vim启用它.

另请注意,到目前为止(从Vim 7.4.1830开始),默认的HTML语法脚本只折叠多行标记本身,而不是折叠开始和结束标记之间的文本.要实现这一点,您需要语法扩展,请参见此处.

  • 很奇怪,我的vim是7.4的最新版本,但似乎没有内置的html语法插件?即使foldmethod设置为语法,也没有对html文件的折叠支持 (4认同)
  • 建议使用"vat"看看会受到什么影响. (3认同)