vim
提供
6
中折叠方式
manual 手工定义折叠
indent 更多的缩进表示更高级别的折叠
expr 用表达式来定义折叠
syntax 用语法高亮来定义折叠
diff 对没有更改的文本进行折叠
marker 对文中的标志折叠
可用选项 'foldmethod' 来设定折叠方式: setfdm=***** 。
注意,每一种折叠方式不兼容,即:你不能用 expr 又用 marker 方式。
目前我一般使用的都是 indent 比较多。
使用时,用: set fdm=indent 命令来设置成 marker 折叠方式。
在 .vimrc 文件中添加设置,可以使得每次打 开 vi 都启动折叠方式。如添加: setfdm=syntax 。
折叠打开与折合
选取了折叠方式后,我们就可以对某些代码 实施我们需要的折叠了。
如果使用了 indent 方式, vim 会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
indent 对应的折叠代码有:
zc 折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。
使 用时在大括号中间输入以上命令。
当使用 marker 方式时,需要用标计来标识代码的折叠,系统默认是 {{{ 和 }}} ,最好不要改动之:)
可 以使用下面的命令来创建和删除折叠:
zf 创建折叠,比如在 marker 方式下:
zf56G ,创建从当前行起到 56 行的代码折叠;
10zf 或 10zf+ 或 zf10↓ ,创建从当前行起到后 10 行的代码折叠。
10zf- 或 zf10↑ ,创建从当前行起到之前 10 行的代码折叠。
在括号处 zf% ,创建从当前行起到对应的匹配的括号上去((), {} , [] , <> 等)。
zd 删除 (delete) 在光标下的折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zD 循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。
仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zE 除去 (Eliminate) 窗口里 “ 所有 ” 的折叠。
仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
manual 手工定义折叠
indent 更多的缩进表示更高级别的折叠
expr 用表达式来定义折叠
syntax 用语法高亮来定义折叠
diff 对没有更改的文本进行折叠
marker 对文中的标志折叠
可用选项 'foldmethod' 来设定折叠方式: setfdm=***** 。
注意,每一种折叠方式不兼容,即:你不能用 expr 又用 marker 方式。
目前我一般使用的都是 indent 比较多。
使用时,用: set fdm=indent 命令来设置成 marker 折叠方式。
在 .vimrc 文件中添加设置,可以使得每次打 开 vi 都启动折叠方式。如添加: setfdm=syntax 。
折叠打开与折合
选取了折叠方式后,我们就可以对某些代码 实施我们需要的折叠了。
如果使用了 indent 方式, vim 会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
indent 对应的折叠代码有:
zc 折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。
使 用时在大括号中间输入以上命令。
当使用 marker 方式时,需要用标计来标识代码的折叠,系统默认是 {{{ 和 }}} ,最好不要改动之:)
可 以使用下面的命令来创建和删除折叠:
zf 创建折叠,比如在 marker 方式下:
zf56G ,创建从当前行起到 56 行的代码折叠;
10zf 或 10zf+ 或 zf10↓ ,创建从当前行起到后 10 行的代码折叠。
10zf- 或 zf10↑ ,创建从当前行起到之前 10 行的代码折叠。
在括号处 zf% ,创建从当前行起到对应的匹配的括号上去((), {} , [] , <> 等)。
zd 删除 (delete) 在光标下的折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zD 循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。
仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zE 除去 (Eliminate) 窗口里 “ 所有 ” 的折叠。
仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。