Chinaunix首页 | 论坛 | 博客
  • 博客访问: 515719
  • 博文数量: 174
  • 博客积分: 8001
  • 博客等级: 中将
  • 技术积分: 1840
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-04 19:30
文章分类

全部博文(174)

文章存档

2011年(1)

2010年(24)

2009年(149)

我的朋友

分类: LINUX

2009-04-16 17:59:29

学会fold之后就容易从整体上来理解代码了。

za  
打开/关闭当前折叠 
——指的是包含当前行的最近一个折叠
zA  
循环地打开/关闭当前折叠 

——指的是所有包含当前行的折叠

zo  
打开当前折叠 

zc  
关闭当前折叠 

——以上两个都是鸡肋

zm

由最内一层折叠向上关闭这一层折叠

zr

由最外一层折叠向下打开这一层折叠

zM  
循环地关闭所有折叠 

——/*...*/和{...}

zR  
循环地打开所有折叠 

避免极端。。。够用就行。。。

总结:z+arm[ARM]

PS:估计vim的作者的风格是

void main()
{
}

的,也就是说{另起一行,但是有的人是这样的:

void main(){

}

这样折叠将会受到我认为的影响,例如函数的调用也被隐藏了,我用了一个办法:

:g/[^TAB]{$/

将搜索所有的前面不是TAB键的并且是结尾的{,通常就是上面提到的情况。

这样可以:

:g/[^TAB]{$/;|+1t+1

首先复制下面的一行

:g/[^TAB]{$/;|+1s/TAB[a-z].*/{/

将复制了的行替换成{,使用替换的方法有助于维持对齐格式。

:%s/[^TAB]{$//

将之前被选中的{去掉

试过了,这个方法是有效的。(有时候情况比较复杂,源程序使用了空格来对齐,而不是TAB,你可以根据具体情况改变一下)




阅读(744) | 评论(0) | 转发(0) |
0

上一篇:vim技巧开篇

下一篇:miniplayer流程架构

给主人留下些什么吧!~~