VIM 代码折叠

VIM代码折叠方式可以用”foldmethod”选项来设置,如: set foldmethod=indent

有6种方式来折叠代码

  1. manual //手工定义折叠

  2. indent //用缩进表示折叠

  3. expr  //用表达式来定义折叠

  4. syntax //用语法高亮来定义折叠

  5. diff //对没有更改的文本进行折叠

  6. marker //用标志折叠

vim 配置文件分为全局配置文件和用户配置文件

  1. 全局配置文件查找,在.vim 中输入:echo $VIM,一般为:/usr/share/vim/vimrc

  2. 用户配置文件在用户主目录下,如:/home/fukun/.vimrc

在vimrc文件中设置折叠方式:如 :set foldmethod=marker

选定折叠方式后,就可以使用折叠命令进行折叠操作了.常用的折叠方式为indent和marker.

indent是最为傻瓜式的折叠方法,根据缩进来的,只要你的代码保持良好的编写规范,在函数名的那行直接按下 za 就可以进行折叠了。

推荐大家使用:marker折叠命令

因为比较通用,移植很方便。别人看你代码的时候直接就可以理解。

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” 时有效。

常用命令就是 za 、 zf% 和 zd 了。

za是打开/关闭折叠, zf%是对匹配的内容创建折叠,zd是删除折叠。