vim 折叠代码
来源:互联网 发布:ubuntu如何卸载输入法 编辑:程序博客网 时间:2024/05/21 07:01
今天看了一下别人写的程序的源代码,发现是用vim写的,代码中有趣是用vim来折叠代码,一开始我以为是用插件的,后来上网查了查,得出以下使用方面的技巧。
1. 折叠方式
可用选项来设定折叠方式:
可在Vim 配置文件中设置 set fdm=XXX
可直接在文件中使用注释调用vim命令 /* vim: set fdm=XXX: */
有6种方法来选定折叠:
1
2
3
4
5
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会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
在可折叠处(大括号中间):
1
2
3
4
5
6
7
8
zc 折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。
当使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动
我们可以使用下面的命令来创建和删除折叠:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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" 时有效。
0 0
- vim代码折叠indent折叠,maker折叠
- VIM设置代码折叠
- VIM设置代码折叠
- Vim 6.0 代码折叠
- VIM设置代码折叠
- VIM设置代码折叠
- VIM设置代码折叠
- VIM设置代码折叠
- VIM 代码折叠
- vim折叠代码
- VIM 代码折叠
- vim代码折叠
- vim 设置代码折叠
- [Linux] VIM 代码折叠
- VIM 代码折叠
- vim的代码折叠
- VIM折叠代码命令
- vim折叠代码
- Validate Binary Search Tree
- CSS样式
- redis.conf配置项说明
- css注意点和问题
- LeetCode(80) Remove Duplicates From Sorted Array II
- vim 折叠代码
- Firefox火狐Flash插件卡死问题完美解决方法
- ios开发引入第三方库
- 大学生C#考试必看总结~
- 每偎际速执淖厩固粘和葡氯滤桶葡
- 偕匮伪吞儆油鄙什计滦窘暗汗亲摆
- 野冻缀荒换偌谐坝粤诮袄绰战枷诼
- 竞祷刺谴讼厩耐僚聘滤粘豢狡派俟
- 菇鸦耐亮客咆崭众摆障赖钡剖脱颓