手动折叠:zfap你将会看到该段落被一行高亮的文本所代替。你已经创建了一个折叠了。|zf|是一个操作符,而|ap|是一个文本对象。你可以将|zf| 操作符跟任何一个移动命令联用,为所经 之处的文本创建一个折叠。|zf| 也能在可视模式下使用说明:ap是用以选择一个段落。这里a的用法如下所示: " "this is a example" "使用的方法就是<action>a<标识,可以是',",],}等>只要在内层双引号里面输入va" 就会选中"this is a example"也可以在内层双引号中输入y2a" 就会复制" this is a example" " {This is another example}只要在{}内的任意位置输入va}就会复制{This is another example}。 zf20G 从当前位置折叠到20行zfgg 从当前位置折叠到文件头,非常适合的时候隐藏文件顶部的头文件包含,源文件注释 作者常用:写程序时都是以函数为单位,可以很方便的折叠一个函数,而保留函数头部。如下函数,我们将光标停留在{处,输入zf%#include <stdio.h>int main(int argc, char* argv[]){ return 0;} 效果就出来了:#include <stdio.h>int main(int argc, char* argv[])+:-- 3行 {-------------------------------------------------} 若要再那些文本,则可以键入以下命令打开该折叠:zo 你还可以用一下命令再关闭该折叠:zc 所有的折叠命令都以'z' 开头。展开你的想像力,这个字母看起来就像一张折叠起来的纸的侧面。而"z" 后面可用的字母,由于采用了帮助记忆方法选择,很容易记得住: zf F-old creation (创建折叠) zo O-pen a fold (打开折叠) zc C-lose a fold (关闭折叠) 一次打开所有折叠:zr zR(用于有递归折叠的时候,功能与zr类似)一次关闭所有折叠:zm zM(用于有递归折叠的时候,功能与zm类似) 更常用的命令:zi (当我们创建了折叠以后,可以使用zi关闭所有折叠,将光标移到想浏览的文本处,再按zi,打开所有折叠) 折叠控制:有时候,查看或记住一个折叠在哪儿,挺不容易的。更别说用|zo| 命令来打开了。要查看那些已定义的折叠: :set foldcolumn=4 这个命令将在窗口左边显示一小栏来标识各个折叠。一个"+" 表示某个关闭的折叠。一个"-" 表示每个打开的折叠的开头,而"|" 则表示该折叠内其余的行。取消左边的小栏: :set foldcolumn& 你可以在折叠栏内用鼠标点击"+",以打开一个折叠。点击"-" ,或在它之下的某个"|" ,将关闭一个打开的折叠。 存储和恢复一个折叠:当你关闭一个文件,去做其他事情,或编辑其他文件,回来以后编辑同一个文件,如果折叠是手动方式创建的,则所有的折叠都消失了!为了保存折叠,可以使用::mkview这将存储那些影响文件视图的设定及其他内容。稍后回到同一个文件时,可以重新载入这个视图::loadview 你可以为一个文件储存多至十个视图。例如,把当前设置储存为第三个视图,并载入第二个视图: :mkview 3 :loadview 2 依赖缩进折叠:如果希望依赖缩进折叠,则首先需要设置:set foldmethod=indent 如果你写的代码比较规范,不规范也没事,先全部选中,然后按“=”,代码就规范一些了。完整的命令是ggvG=然后试试zm,zr有什么效果,这个功能对于程序员还是挺有用的。当我们设置了foldmethod后就不能再手动创建折叠了,对于我这样喜欢不喜欢被约束的这个功能其实很不咋滴。我们只需要重新设置foldmethod就可以了。:set foldmethod& (后面加个&就是恢复默认设置,反正我是这么理解的) 其他折叠方式:依赖标识折叠依赖语法折叠依赖表达式折叠参见:http://vimcdoc.sourceforge.net/doc/usr_28.#28.6参考资料:http://vimcdoc.sourceforge.net/doc/usr_28.html