VIM 支持多种模式的折叠,可以方便查看代码结构。
简介
主要用来查看代码或者文档的整体框架,将一些暂时不需要的内容临时关闭掉,详细可以通过 :h folding
或者 :h usr_28
查看相关的文档。
模式
标记折叠(Marker)
:set foldmethod=marker
vim: foldmarker={,} foldlevel=0 foldmethod=marker :
可以精确地定义折叠,折叠的标记通过 foldmaker
定义,默认以 {{{
开始,以 }}}
结束,同时在标记后面可以添加数字表示折叠的层级,通过 foldlevel
设置级别,超过默认值则会折叠。
常用命令
这里的按键基本上不需要再进行映射,可以直接使用,其实只需要 za
zR
zM
三个。
zo 打开当前的折叠,O-pen a fold.
zO 打开当前所有的折叠,O-pen all fold.
zr 打开所有折叠,R-educe the folding.
zR 打开所有折叠及其嵌套的折叠
zc 关闭当前打开的折叠,C-lose a fold.
zC 关闭当前所有打开的折叠,C-lose all fold.
zm 关闭所有折叠,folds M-ore.
zM 关闭所有折叠及其嵌套的折叠
za 关闭、打开相互切换
zd 删除当前折叠,对于标记则会自动删除,D-elete a fold
zD 删除当前所有折叠,D-elete all fold
zj 移动至下一个折叠
zk 移动至上一个折叠
zn 禁用折叠
zN 启用折叠
zi 在上述两者之间切换