1. 折叠方式
可以通过设置foldmethod来指定折叠方式。
注意,每一种折叠方式互不兼容,如果选择其中一种就不能设定为其它方式。
set foldmethod=
or
indent 更多的缩进表示更高级别的折叠
expr 用表达式来定义折叠
syntax 用语法高亮来定义折叠
diff 对没有更改的文本进行折叠
marker 对文中的标志折叠
zc 关闭当前打开的折叠
zo 打开当前的折叠
zm 关闭所有折叠
zM 关闭所有折叠及其嵌套的折叠
zr 打开所有折叠
zR 打开所有折叠及其嵌套的折叠
zd 删除当前折叠
zE 删除所有折叠
zj 移动至下一个折叠
zk 移动至上一个折叠
zn 禁用折叠
zN 启用折叠
可以通过设置foldmethod来指定折叠方式。
注意,每一种折叠方式互不兼容,如果选择其中一种就不能设定为其它方式。
set foldmethod=
or
set fdm=
manual 手工定义折叠indent 更多的缩进表示更高级别的折叠
expr 用表达式来定义折叠
syntax 用语法高亮来定义折叠
diff 对没有更改的文本进行折叠
marker 对文中的标志折叠
(1) syntax fold
启用语法折叠。所有文本将按照语法结构自动折叠
set foldmethod=syntax
(2) indent fold
启用缩进折叠。所有文本将按照(选项shiftwidth 定义的)缩进层次自动折叠。
可以设置显示折叠的级别
set foldlevel=1
则只显示1级折叠,其它级别折叠起来
(3) manual fold
启用手动折叠
在可视化模式下,使用以下命令,将折叠选中的文本:
zf
也可以使用以下命令,折叠括号(比如()、[]、{}、><等)包围的区域:
zfa(
Vim并不会自动记忆手工折叠。但你可以使用以下命令,来保存当前的折叠状态:
:mkview
在下次打开文档时,使用以下命令,来载入记忆的折叠信息:
:loadview
(4) marker fold
启用标记折叠。所有文本将按照特定标记(默认为{{{和}}})自动折叠。
set foldmethod=marker
zc 关闭当前打开的折叠
zo 打开当前的折叠
zm 关闭所有折叠
zM 关闭所有折叠及其嵌套的折叠
zr 打开所有折叠
zR 打开所有折叠及其嵌套的折叠
zd 删除当前折叠
zE 删除所有折叠
zj 移动至下一个折叠
zk 移动至上一个折叠
zn 禁用折叠
zN 启用折叠