您的位置:首页 > 其它

vim编辑器折叠

2016-02-18 21:43 274 查看
vim折叠设置(转载)

set foldmethod=indent “set default foldmethod

“zi 打开关闭折叠

“zv 查看此行

zm 关闭折叠

zM 关闭所有

zr 打开

zR 打开所有

zc 折叠当前行

zo 打开当前折叠

zd 删除折叠

zD 删除所有折叠

折叠方式

可用选项 ‘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,就像添加其它的初始化设置一样。

折叠命令

选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了,由于我使用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默认的折叠标签进行处理。使用方法如下:

1、加折叠标签

在normal模式下,从键盘输入zf并回车,您就会看到折叠在一起的两行标签如下:

/{{{/

…..这里输入您 的程序代码

/}}}/

2、输入程序代码后,将代码折叠起来使用如下命令(normal模式):

zc 回车

3、打开折叠的程序有以下几种方法

a、在折叠的行上移动光标

b、在normal模式下输入zo并回车

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

zfap

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

6、嵌套了多层的折行, 也可以用zR命令一次打开所有折行

7、关闭所有的嵌套折行使用zM

8、可以用jznj命令来禁用一个折行. 然后用jzNj还可以恢复它. jzij命令则可以在两者之间切换.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: