linux学习-VIM编辑器-代码折叠 Learn for linux and vim editor on code folding

brysj22952(45)
Published in
#cn
Words
648
Reading
3 min
Listen
Play
9y

linux学习-VIM编辑器-代码折叠 Learn for linux and vim editor on code folding

​ 我租的VPS配置比较低,所以也没有开启图形界面,编辑器就用vim,经过一段时间的摸索使用,感觉vim竟然是越来越顺手了。本章节总结一下两个相对高级的功能,它们还是能够提升不少的编码体验。事先声明一下,这个总结不是详细指南,并且我记录的都是我自己需要的,所以非常不完备,仅仅适合我自己(我的哲学是刚刚够用就好),想详细了解的同学自行查阅相关资料。

  • 代码折叠

    • 开启代码折叠功能、设置折叠方式

      set fdm=marker

      注:fdm=foldmethod,代码折叠方式有manual、indent、marker等几种方式,manual方式不太好,因为不能自动保存折叠状态,indent我以为不错,用了一段时间,感觉好多地方和自己预想不太一样,改折叠不折叠,不该折叠反倒折叠了,肯定是我用错了,但是也懒得折腾研究了,就选了最简单的marker方式了,它和manual比较像,自己设定折叠标记,想折叠哪块儿,就折叠哪块儿。但是麻烦的地方就是得自己设置marker,以后有时间可以研究一下expr(正则表达式)的折叠方式

    • 设置折叠标记

      默认的折叠标记是{{{ ... }}},就使用默认的好了,我使用的是Python语言,那么在使用折叠的开始和结束使用#{{{ ... #}}}即可。

      并且经过试验,折叠标记是可以嵌套的,那就更爽了。

    • 折叠代码

      很简单,在命令状态下,使用zm/zM命令即可。之前我用的是za命令(表示变更折叠状态),但是经常不小心就处于输入状态下,不方便。

    • 打开折叠

      我习惯于什么命令也不用,光标移动到折叠状态的那个“+”号,按右箭头"->"就可以打开了

    • 显示折叠列

      还有一个比较有用的设置,set foldcolumn=4,会在编辑区域的左侧显示折叠区域,可以清楚的看到哪些是可以折叠的,处于什么折叠状态,其中4表示显示折叠的层级。