代码折叠,在写代码的时候,经常遇到。一个源文件代码过长的时候,会给阅读代码带来不便。vim中可以方便的把一些代码折叠起来。vim中一共有6种代码折叠的方式,这里总结一下。
一个简单的折叠示例视频
使用默认的手工折叠
/*
* vim 手动折叠示例
* website: https://www.liuhaolin.com
*
* vim 手动折叠的步骤
* 1. vim 命令模式输入 v 可视模式(Visual mode)
* 2. 通过选中需需要折叠的内容
* 3. `zf` 创建一个折叠
* 4. `zo` 重新把一个折叠打开
*/
vim 中的六种代码折叠方式
折叠方式 | 含义 |
---|---|
manual | 手工定义折叠 |
indent | 更多的缩进表示更高级别的折叠 |
expr | 用表达式来定义折叠 |
syntax | 用语法高亮来定义折叠 |
diff | 对没有更改的文本进行折叠 |
marker | 对文中的标志折叠 |
vim 中代码折叠的设置方式
- 在 .vimrc 文件中设置 比如 set fdm=manual 设置为默认的手工折叠
- 在 vim 中命令模式输入
:set fdm=manual
一种折叠方式 -- 手工方式
手动方式,直接选择中需要折叠的行,点击 zf
进行折叠
当你退出文件编辑时,手工折叠会被遗弃。要保存折叠,使用 :mkview 命令。之后要恢复可以使用 :loadview。
二种折叠方式 -- 缩进
自动缩进方式,进行折叠的时候。默认会把 {} 内的作为一个整体进行折叠。下面是一个例子。
自动缩进的命令 | 含义 |
---|---|
zc | 折叠 |
zC | 对所在范围内所有嵌套的折叠点进行折叠 |
zo | 展开折叠 |
zO | 对所在范围内所有嵌套的折叠点展开 |
[z | 到当前打开的折叠的开始处 |
]z | 到当前打开的折叠的末尾处 |
zj | 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入 |
zk | 向上移动到前一折叠的结束处。关闭的折叠也被计入 |