您的位置:首页 > 编程语言

vim 代码折叠设置

2014-05-15 14:59 295 查看

1. vim折叠的方式有6种,如下:

(1)manual //手工定义折叠

(2) indent //用缩进表示折叠
(3) expr  //用表达式来定义折叠
(4) syntax //用语法高亮来定义折叠
(5) diff   //对没有更改的文本进行折叠
(6) marker //用标志折叠

可以通过修改vimrc配置文件修改其折叠的方式。

set foldmethod=indent

注:vimrc有2个位置:

/etc/vim/vimrc  //所有用户的vim配置

~/.vimrc  //当前用户的vim配置文件

一般操作:

zi 打开关闭折叠
zv 查看此行
zm 关闭折叠
zM 关闭所有
zr 打开
zR 打开所有
zc 折叠当前行
zo 打开当前折叠
zd 删除折叠
zD 删除所有折叠

2. indent折叠命令

在折叠处,键入以下命令

zc
折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。

3. marker折叠命令

marker折叠方式时,我们需要用标计来标识代码的折叠,系统默认是{{{和}}}

在normal模式下,从键盘输入zf并回车,您就会看到折叠在一起的两行标签如下:
/*{{{*/
.....这里输入您 的程序代码
/*}}}*/

折叠命令

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

4.
syntax

根据代码语法自动折叠。

5. diff

這在進入 vimdiff(即 vim -d file1 file2) 時會自動進入 foldmethod=diff 的模式,因此要 diff 設定項設在同一個螢幕顯示才行。以便整體的瀏覽。當然要自行更改預設值亦可。預設是:
setlocal diff foldmethod=diff scrollbind nowrap foldlevel=1
這樣一來,兩個檔案相同的部份會折疊起來,沒有折疊的部份就是有差異的地方。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: