学会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) |