今天讲解在 Vim 中的代码折叠。
代码折叠在编辑器中,存在于左侧一般移动上去就能看到一个折叠按钮,点击就可以在 折叠与不折叠之间进行切换。
就我个人而言,需要使用折叠的场景为 看源码,或者某一个 类,或者方法特别的多的时候就会使用到。还是属于日常编程生活中比较常见的功能了。
01. 简单折叠
打开相同的一个文件,我们使用 Vim 来对代码进行折叠与展开。
zc
折叠代码 zo
打开折叠,GIF 演示里面 我是在对应的折叠位置处,其实就算是在 json 里面也是可以折叠的,Vim 自动会判断折叠范围。
02. IntelliJ IDEA 中的折叠
上面 GIF 中演示了 在 IDE 中的对应的代码折叠的快捷键
- 折叠
command -
- 展开
command +
- 折叠所有
command shift -
- 展开所有
command shift +
command -
对应了 Vim 中的 zc
,command +
对应了 Vim 中的 zo
在 Vim
中对应的 折叠所有为 zM
, 折叠所有为 zR
03. 递归 折叠展开
zO
可以直接展开光标处所有的折叠,并且不会影响到其他地方的折叠。
zC
可以折叠当前光标处代码的所有代码。而且不会影响到其他代码。
04. 其他
za | 切换折叠 |
---|---|
zA | 递归切换折叠 |
zc | 折叠光标下代码 |
zC | 折叠光标下所有代码 |
zd | 删除光标下折叠 |
zD | 递归删除所有折叠 |
zE | 删除所有折叠 |
zf | 创建代码折叠 |
zF | 指定行数创建折叠 |
zi | 切换折叠 |
zm | 所有代码折叠一层 |
zr | 所有代码打开一层 |
zM | 折叠所有代码,设置 foldlevel=0,设置 foldenable |
zR | 打开所有代码,设置 foldlevel 为最大值 |
zn | 折叠 none,重置 foldenable 并打开所有代码 |
zN | 折叠 normal,重置 foldenable 并恢复所有折叠 |
zo | 打开一层代码 |
zO | 打开光标下所有代码折叠 |
这里特别说一下 zf
它可以不受折叠位置的限制,他可以自定义折叠区域。
还是很方便的吧,但是 Intellij IDEA
中不支持。就只能在纯 Vim
中使用了。