要删除特定的折叠,就可以做到zd.
要删除所有折叠标记,可以执行:
:%s/# {{{//
:%s/# }}}//
Run Code Online (Sandbox Code Playgroud)
但是有没有命令(比如zd)删除所有标记?
Omn*_*nce 20
tl; dr zE是您正在寻找的命令.
现在为长版本.
假设:
foldmethod是marker.foldmarker设置与文件中的折叠标记匹配(在您的情况下,它是默认值{{{,}}}).commentstring的设置正确(几乎可以肯定,除非vIM没有文件类型的语法文件).您可以使用zE哪个E限制文件中的所有折叠.
您可以通过运行检查设置并通过运行:set foldmethod? foldmarker? commentstring?进行设置:set foldmethod=manual foldmarker={{{,}}} commentstring=#%s.
请参阅此处的文档:http://vimdoc.sourceforge.net/htmldoc/fold.html#zE
这里的文档中有一些警告:http://vimdoc.sourceforge.net/htmldoc/fold.html#fold-delete-marker
这在以下情况下无效:
一行包含多个标记,其中一个指定一个级别.只删除第一个,而不检查是否具有删除折叠所需的效果.
标记包含一个级别编号,用于同时开始或结束多个折叠.