gvim 编辑器代码折叠
"代码折叠
"用空格键来开关折叠(说明西方“"”后面的内容为注释,不会被VIM所识别)
set foldenable
set foldmethod=indent
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
"代码折叠使用方式
set foldmethod=syntax " 用语法高亮来定义折叠
set foldmethod=indent " 更多的缩进表示更高级别的折叠(这个似乎效果好一些)
zo 打开折叠,也可以用方向键(左右键)打开折叠
zc 关闭折叠(只要在被折叠的块中的任一个语句就行)
zC 对所在范围内所有嵌套的折叠点进行折叠
zO 对所在范围内所有嵌套的折叠点展开
当使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动之。可以使用下面的命令来创建和删除折叠:
zf 创建折叠,比如在marker方式下:
zf56G,创建从当前行起到56行的代码折叠;
10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。
10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。
在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},[],<>等)。
zd 删除(delete)在光标下的折叠。仅当'foldmethod'设为"manual"或"marker"时有效。
: set foldmethod (查看当前foldmethod设置,vim默认设置为manual)。
zD 循环删除(Delete)光标下的折叠,即嵌套删除折叠。
仅当'foldmethod'设为"manual"或"marker"时有效。
zE 除去(Eliminate)窗口里"所有"的折叠。
仅当'foldmethod'设为"manual"或"marker"时有效。