Vim 代码折叠 YYDS

106 阅读2分钟

今天讲解在 Vim 中的代码折叠。

代码折叠在编辑器中,存在于左侧一般移动上去就能看到一个折叠按钮,点击就可以在 折叠与不折叠之间进行切换。

就我个人而言,需要使用折叠的场景为 看源码,或者某一个 类,或者方法特别的多的时候就会使用到。还是属于日常编程生活中比较常见的功能了。

01. 简单折叠

打开相同的一个文件,我们使用 Vim 来对代码进行折叠与展开。

zc 折叠代码 zo 打开折叠,GIF 演示里面 我是在对应的折叠位置处,其实就算是在 json 里面也是可以折叠的,Vim 自动会判断折叠范围。

02. IntelliJ IDEA 中的折叠

上面 GIF 中演示了 在 IDE 中的对应的代码折叠的快捷键

  • 折叠 command -
  • 展开 command +
  • 折叠所有 command shift -
  • 展开所有 command shift +

command - 对应了 Vim 中的 zccommand + 对应了 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 中使用了。