Linux——VIM中代码的折叠和打开
2017-10-09 16:10
465 查看
文章转自:http://liufabin66688.blog.163.com/blog/static/13968548200810140486304/
在查看代码的时候,如果代码十分冗长,尤其是c/c++系列的时候,
代码结构比较让人难以理清,主要是各种注释、括号的匹配问题,
虽然可以用%来查看匹配的另外一半符号在哪里,但是如果这一对符号之间的代码超过了一页,甚至好几页的话,那么也是比较难以理解的。
于是可以使用这个vim所提供的折叠功能来简化这些分析。
我使用的vim是rh9自带的版本。
可用选项 ‘foldmethod’ 来设定折叠方式:set fdm=*。
注意,每一种折叠方式不兼容,即:你不能用expr又用marker方式。
目前我一般使用的都是indent 比较多。
使用时,用:**set fdm=indent 命令来设置成marker折叠方式。
在.vimrc文件中添加设置,可以使得每次打开vi 都启动折叠方式。如添加:set fdm=syntax。**
如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
indent 对应的折叠代码有:
使用时在大括号中间输入以上命令。
当使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动之:)
可以使用下面的命令来创建和删除折叠:
在查看代码的时候,如果代码十分冗长,尤其是c/c++系列的时候,
代码结构比较让人难以理清,主要是各种注释、括号的匹配问题,
虽然可以用%来查看匹配的另外一半符号在哪里,但是如果这一对符号之间的代码超过了一页,甚至好几页的话,那么也是比较难以理解的。
于是可以使用这个vim所提供的折叠功能来简化这些分析。
我使用的vim是rh9自带的版本。
折叠的方式:
vim 提供 6中折叠方式方式 | 作用 |
---|---|
manual | 手工定义折叠 |
indent | 更多的缩进表示更高级别的折叠 |
expr | 用表达式来定义折叠 |
syntax | 用语法高亮来定义折叠 |
diff | 对没有更改的文本进行折叠 |
marker | 对文中的标志折叠 |
注意,每一种折叠方式不兼容,即:你不能用expr又用marker方式。
目前我一般使用的都是indent 比较多。
使用时,用:**set fdm=indent 命令来设置成marker折叠方式。
在.vimrc文件中添加设置,可以使得每次打开vi 都启动折叠方式。如添加:set fdm=syntax。**
折叠打开与折合
选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了。如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
indent 对应的折叠代码有:
方式 | 功能 |
---|---|
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” 时有效。 |
相关文章推荐
- [Linux] VIM 代码折叠
- Linux下面对于VIM编辑器的代码折叠使用与screen
- vim设置为indent折叠以后,每次打开文件时代码处于折叠状态,能改变吗?
- [Linux] VIM 代码折叠
- vim 中代码的折叠和打开
- VIM 代码折叠
- Linux 下mysqldump备份的数据使用vim打开乱码
- vim折叠代码
- linux运用vim编写C风格的代码
- Linux中的代码编辑器vim
- Linux查看代码工具vim+ctags+cscope+taglist
- vim代码粘贴缩进混乱的问题[Linux]
- VS(VisualStudio)中折叠代码、打开代码的快捷键
- Linux_gedit和vim打开中文显示乱码解决方法
- linux中如何快速在某目录下打开终端 及vim多文件调试
- VIM折叠代码命令
- vim之代码折叠
- Vim代码折叠简介
- VIM设置代码折叠
- VIM设置代码折叠