vim fold

原创 2009年09月17日 00:13:00
最近需要折叠, 于是找了一下。 其实手册里面有, 不过手册做的太好太详细的后果往往就是让人懒得看了。 写的东西超过五六屏以后, 感觉翻来翻去就不怎么方便了, 看起来也很混乱。 这个时候最好就能折叠起来。 VIM里面也有VS里面那样的折叠功能, 而且不需要用鼠标去点那个减号和加号。
建立折叠
z的意思就是他的形状, 像一个折叠的东西, 折叠相关的命令都是z开头的, 新版本的拼写检查命令也有以z开头的。 f的意思是fold。 所以zf就是折叠。 你可以在visual模式下选定, 再按zf, 可以将选定的全部折叠。 也可以zf9j, 这样可以将下面9行的内容折起来。 也可以用marker, 还可以用行号:20,50, 就可以把20行到五十行折叠起来 。 总之可以用一般的定位的方法来告诉VIM你要折叠那些地方。
我觉得比较有用的是匹配括号的折叠, 移动到一个花括号{上, 用zfa}, 就可以将下面的匹配的花括号之间的内容折起来, 这样可以很方便的折起函数。 其他的折叠方法还有zf/string, 可以折叠到下一个匹配的string, 不过好像不太实用。
使用折叠
移动的时候在前面加一个z就可以在折叠的地方移动, 比如zj,就会跳到下一个折叠, zk就是上一个。  要打开的话可以zo,o是open的意思, zO打开所有的折叠。 关上用zc, c是close。 在zO之后用zc会关上所有打开的折叠。 折叠可以嵌套, zr可以打开第一层的折叠,zR可以打开所有层的折叠, 与之对应的是zm和zM, 是按层关上折叠。 比如说按zm, 会从最里层的层叠关起, 连续zm就会一直关到最上层的折叠。
查找到了折叠里面会将折叠打开, 处理完了之后要自己将折叠关上。
折叠选项
可以让VIM根据语法, 缩进,标记自动折叠。 用set foldmethod=foldoption 来设定。 可以查看一下foldmethod

 

 

保留折叠
要下一次打开的时候还保留折叠可以在离开的时候:mkview

 

,再进来的时候:loadview就可以了。 当然也可以将这两句加到vimrc里面让其自动完成。

 

 

au BufWinLeave * mkview
au BufWinEnter * silent loadview
这样每次就可以看到上次的折叠了。

 

 

 

 

Vim技巧#Vim foldmethod代码折叠功能

问题:怎样在vim中实现代码折叠功能? 解决方法:直接使用vim自带的快捷键和命令,便可以实现功能强大的折叠 小试折叠: :set fdm=marker 在vim中执行该命令 5G 将...
  • qq_27968607
  • qq_27968607
  • 2017年03月09日 11:10
  • 1232

vim 折叠的用法

vim 折叠的用法   http://www.cnblogs.com/fakis/archive/2011/04/14/2016213.html 1. 折叠方式 可用选项来设定折叠...
  • dearwind153
  • dearwind153
  • 2016年08月06日 17:32
  • 710

Spark RDD的fold和aggregate为什么是两个API?为什么不是一个foldLeft?

欢迎关注我的新博客地址:http://cuipengfei.me/blog/2014/10/31/spark-fold-aggregate-why-not-foldleft/ 大家都知道Sc...
  • cuipengfei1
  • cuipengfei1
  • 2014年11月09日 13:40
  • 5234

vim入门进阶与折腾

转自:http://godorz.info/2012/01/vim/ 作为编辑器之神,vim一直是我编辑文本的不二选择,哪怕其坎坷的学习曲线让人头疼不已.末学总结一下经验教训,以作备...
  • fivedoumi
  • fivedoumi
  • 2016年01月23日 17:04
  • 1579

scala fold系列函数及 sparkRDD fold 操作解析

scala 的fold系列 函数用起来比较方便,这里对比总结一下。 fold fold 的定义: def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1 fo...
  • baiyangfu
  • baiyangfu
  • 2014年12月19日 11:48
  • 4274

【TensorFlow_Fold】TFF, 初次见面请多指教

TensorFlow_Fold 是在TensorFlow下的一个新的(分支?框架?) 其特点在于更加简化了TF的编码以及对于不定长输入处理的尝试。 虽说目前网络上教程啥的都挺少,但是既然要用到就得学学...
  • okcd00
  • okcd00
  • 2017年03月23日 15:08
  • 854

【机器学习】k-fold cross validation(k-折叠交叉验证)

k-折叠交叉验证就是将训练集的1/k作为测试集,每个模型训练k次,测试k次,错误率为k次的平均,然后平均率最小的模型Mi。...
  • evillist
  • evillist
  • 2017年03月13日 09:27
  • 2980

函数式编程里面的fold

第一:基本概念 fold在函数式编程里面的基本含义是遍历数据结构,最后产生一个聚合值。最简单的例子是sum list = foldl (+) 0 list fold抽象了两个动作,一个是遍历数据结...
  • u012426992
  • u012426992
  • 2014年03月23日 13:35
  • 1085

最大流-FoldFulkerson算法

问题来源:hdu-1532 问题描述:约翰是个农民,每次下雨的时候他的庄家总是会被淹没,这就意味着当庄家被水淹后需要很长时间才能重新生长出来,因此,约翰已经建立了一系列排水管道为了使他的庄家尽可能被...
  • u014366015
  • u014366015
  • 2014年04月07日 14:19
  • 1012

精通Apache Flink读书笔记--1、2

Flink Master Apache Flink
  • lmalds
  • lmalds
  • 2017年03月06日 14:01
  • 1878
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vim fold
举报原因:
原因补充:

(最多只允许输入30个字)