vim折叠设置(转载)

set foldmethod=indent "set default foldmethod
"zi 打开关闭折叠
"zv 查看此行
zm 关闭折叠
zM 关闭全部
zr 打开
zR 打开全部
zc 折叠当前行
zo 打开当前折叠
zd 删除折叠
zD 删除全部折叠


1. 折叠方式
可用选项 'foldmethod' 来设定折叠方式:set fdm=*****。
有 6 种方法来选定折叠:
manual           手工定义折叠
indent             更多的缩进表示更高级别的折叠
expr                用表达式来定义折叠
syntax             用语法高亮来定义折叠
diff                  对没有更改的文本进行折叠
marker            对文中的标志折叠
注意,每一种折叠方式不兼容,如不能即用expr又用marker方式,我主要轮流使用indent和marker方式进行折叠。

使用时,用:set fdm=marker 命令来设置成marker折叠方式(fdm是foldmethod的缩写)。
要使每次打开vim时折叠都生效,则在.vimrc文件中添加设置,如添加:set fdm=syntax,就像添加其它的初始化设置同样。

2. 折叠命令
选取了折叠方式后,咱们就能够对某些代码实施咱们须要的折叠了,因为我使用indent和marker稍微多一些,故以它们的使用为例:
若是使用了indent方式,vim会自动的对大括号的中间部分进行折叠,咱们能够直接使用这些现成的折叠成果。
在可折叠处(大括号中间):
zc      折叠
zC     对所在范围内全部嵌套的折叠点进行折叠
zo      展开折叠
zO     对所在范围内全部嵌套的折叠点展开
[z       到当前打开的折叠的开始处。
]z       到当前打开的折叠的末尾处。
zj       向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk      向上移动到前一折叠的结束处。关闭的折叠也被计入。

当使用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" 时有效。

关于vim的代码折叠,小弟也是初学,仅作参考。




使用Vim的折叠功能书写程序代码

折行的用处:
2 建立折行进行大纲预览
2 移动到某处进行编辑
2 使用jzij打开文本进行编辑
2 编辑完毕后再用jzij打开折行进行移动

打开vim的折叠功能,请在~/.vimrc 中加入:set foldmethod=marker ,使用vim默认的折叠标签进行处理。使用方法以下:
一、加折叠标签
在normal模式下,从键盘输入zf并回车,您就会看到折叠在一块儿的两行标签以下:
/*{{{*/
.....这里输入您 的程序代码
/*}}}*/

二、输入程序代码后,将代码折叠起来使用以下命令(normal模式):
zc 回车

三、打开折叠的程序有如下几种方法
a、在折叠的行上移动光标
b、在normal模式下输入zo并回车

四、给一段文字加折行(normal 模式)
zfap

五、zr命令能够打开折叠几层的内容 zm使用内容折叠的更多一些(多层折叠操做时可反复使用)。

六、嵌套了多层的折行, 也能够用zR命令一次打开全部折行

七、关闭全部的嵌套折行使用zM

八、能够用jznj命令来禁用一个折行. 而后用jzNj还能够恢复它. jzij命令则能够在二者之间切换.

其它的,请参考vim的使用手册。
相关文章
相关标签/搜索