我在Vim中有一个带有语法折叠的长代码文件.
我知道如何打开所有折叠(zR)或关闭所有折叠(zM),我知道如何增加或减少折叠级别(zm,zr).
然而,当我增加折叠水平时,最内层的折叠是关闭的; 相反,我希望最内层的折叠关闭,而最内层的折叠展开.可以通过打开所有折叠并手动关闭每个顶层折叠来手动执行此操作,这是令人难以置信的繁琐,特别是我快速打开的长文件以获得代码的概述.
有没有关键的快捷方式吗?或者我需要制作某种Vim功能才能执行此操作?如果是这样,怎么样?
Zac*_*nce 21
是的,你可以输入
:%foldc
Run Code Online (Sandbox Code Playgroud)
它关闭了一个级别的折叠(在外面).
正如卡尔所说,这个foldnestmax设置可能就是你想要的.
zO (即,大写字母-o)打开所有嵌套折叠.
我也发现zx并且zv非常有帮助.
当我使用foldmethod=expr自定义折叠表达式时,我经常会修改表达式,使其只折叠我想要折叠的内容.