VIM 代码折叠

2020-11-30 vim develop

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  在上述两者之间切换