VIM设置代码折叠

VIM设置代码折叠

今天看了一下别人写的程序的源代码,发现是用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会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。

在可折叠处(大括号中间):

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

时间: 2024-10-07 05:16:02

VIM设置代码折叠的相关文章

eclipse代码折叠/展开之笔记本快捷键设置&lt;非原创&gt;

首先 在eclipse 中开启设置代码折叠功能 1. windows->perferences->General->Editors->Structured Text Editors 可以看到Enable folding选项,打上勾就可以使用代码折叠功能,但还要在具体的语言中设置.2.windows->perferences->Java->Editors->Folding 可以看到Enable folding选项,打上勾就可以使用代码折叠功能. 完成以上两步就

vim设置为indent折叠以后,每次打开文件时代码处于折叠状态,能改变吗?

vim设置为indent折叠以后,每次打开文件时代码处于折叠状态.即使这次编辑的时候把折叠展开,保存关闭文件,重新打开,所有的代码都又折叠起来了. 请问有没有默认不折叠的方法? 是否有可以一次展开所有折叠的操作?(zO不行,只能移到折叠行上,展开该行以及该行下缩进更多的折叠) 2013-09-19 09:08 提问者采纳 设置上下面这个,就基本相当于默认不折叠了. set foldlevel=99 试试看zR

0007 vim代码折叠功能

问题:怎样在vim中实现代码折叠功能? 解决方法:直接使用vim自带的快捷键和命令,便可以实现功能强大的折叠 小试折叠: 1 :set fdm=marker 在vim中执行该命令 2 5G 将光标跳转到第5行 3 zf10G 折叠第5行到第10行的代码,vim会在折叠的开始和结束自动添加三个连续的花括号作为标记 4 zR 打开所有折叠 5 zM 关闭所有折叠 6 zE 删除所有的折叠标签 7 退出vim窗口再次打开,执行2-6步.依然可以折叠,但是没有标记了.重新打开后折叠信息会丢失. 折叠方法

vim代码折叠命令

1. 折叠方式 可用选项 'foldmethod' 来设定折叠方式:set fdm=*****. 有 6 种方法来选定折叠:           manual           手工定义折叠 indent             更多的缩进表示更高级别的折叠 expr                用表达式来定义折叠 syntax             用语法高亮来定义折叠 diff                  对没有更改的文本进行折叠 marker            对文中的标志

VIM 代码折叠

VIM 代码折叠 VIM代码折叠方式可以用"foldmethod"选项来设置,如: set foldmethod=indent 有6种方式来折叠代码 1. manual //手工定义折叠 2. indent //用缩进表示折叠 3. expr //用表达式来定义折叠 4. syntax //用语法高亮来定义折叠 5. diff   //对没有更改的文本进行折叠 6. marker //用标志折叠 vim 配置文件分为全局配置文件和用户配置文件 1. 全局配置文件查找,在.vim 中输入

vim代码折叠命令简介

作者:zhanhailiang 日期:2014-10-18 1. 通过fdm实现代码折叠:set fdm=xxx 有以下6种方式实现折叠: |fold-manual| manual Folds are created manually. |fold-indent| indent Lines with equal indent form a fold. |fold-expr| expr 'foldexpr' gives the fold level of a line. |fold-marker|

Linux下VIM设置

1.设置文件的位置 在目录 /etc/ vim下面,有个名为vimrc的文件,这是系统中公共的vim设置文件,对所有用户都有效.而在每个用户的主目录下,都能自己建立私有的设置文件,命名为:".vimrc".例如,/root目录下,通常已存在一个.vimrc文件. 2.设置语法高亮显示1) 打开vimrc,添加以下语句来使得语法高亮显示:    syntax on2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:    export TERM=x

终端简单使用 &amp;vim编写代码

vim简单实用 & 用vim编写代码 vi 1.c 建立1.c 进入终端指令模式 按esc进入指令模式 按esc再按:进入命令行模式 按i进入编辑模式(按i进入, 光标不动.  按a进入,光标向后走一位) 进入编辑模式后,只能用键盘操作 编辑后退出,先保存在退出 按esc进入命令模式 > :  > wq  (w表示保存,q表示退出) 注意:命令行> q! 表示强制退出,不保存.需要谨慎使用. vim 1.c 文件存在,则打开1.c 一些指令: esc进入指令模式: dd 删除光标

vim黏贴代码格式混乱的解决方法

from:http://blog.csdn.net/commshare/article/details/6215088 感谢牛人的文章.解决了我在vim使用中,很头疼的问题. 在vim新建文件的时候,黏贴代码会自动缩进,导致格式非常混乱. 按照博主的经验,在/etc/vim中,修改vimrc,添加 set pastetoggle=<F9> 在黏贴代码之前,进入insert模式,按F9,就可以关闭自动缩进. 当需要自己手写代码的时候,进入insert模式,默认就是自动缩进了. ===== vim