【转载】 vim中常用折叠命令

原文地址:

https://www.cnblogs.com/litifeng/p/11675547.html

 

 

 

========================================================

 

 

 

 

最常用3个折叠命令

1、反复打开关闭折叠:za (意思就是,当光标处折叠处于打开状态,za关闭之,当光标处折叠关闭状态,打开之)                                                                                                                                           
2、打开全部折叠:zR
3、关闭全部折叠:zM

 

 

 

小试折叠:
1  :set fdm=marker  在vim中执行该命令
2  5G  将光标跳转到第5行
3  zf10G  折叠第5行到第10行的代码,vim会在折叠的开始和结束自动添加三个连续的花括号作为标记
4  zR  打开所有折叠
5  zM  关闭所有折叠
6  zE  删除所有的折叠标签
7  退出vim窗口再次打开,执行2-6步。依然可以折叠,但是没有标记了。重新打开后折叠信息会丢失。

 

 

 

 

折叠的方法,在上面第一步中,使用。

1  manual  (不常用)默认折叠方法,如上面第7步即为该方法,关闭vim折叠会丢失。如果想保持折叠信息,可运行 :mkview 命令,重启后用 :loadview 命令回复。该命令生成的缓存文件位于 ~/.vim/view 文件夹中。移动或重命名文件,折叠信息依然会丢失。
2  indent  (常用)缩进折叠方法,相同的缩进中代码会被折叠。
3  syntax  (不常用)语法高亮折叠,在c/c++中会折叠花括号部分,其它格式代码中有的不能自动折叠。 
4  marker  (常用)标记折叠方法,如上面1-6所使用的方法。关闭vim折叠信息不会丢失,而且易用控制和标注。
5  还有两种 diffexpr,目前我还没有用过

 

 

 

 

 

打开和关闭折叠:

zo  打开光标下的折叠。
 zO  打开光标下的折叠,以及嵌套的折叠。
 zc  关闭光标下的折叠。
 zC  关闭光标下的折叠,以及嵌套的折叠。
 za  当光标在关闭折叠上时,打开之。在打开折叠上时,关闭之。
 zA  和za类似,不过对当前折叠和其嵌套折叠都有效。
 zv  打开当前光标所在折叠,仅打开足够的折叠使光标所在的行不被折叠。
 zr和zm  一层一层打开折叠和一层一层关闭折叠,这两个命令会递减和递增一个叫foldlevel的变量。如果你发现zm和zr不灵了,那有可能是你连续按的zr或zm次数多了,只要多按几次让foldlevel回到正常状态即可。执行以下zR和zM也可直接让foldlevel回到正常状态。
 zR和zM  打开所有折叠,设置foldlevel为最高级别。关闭所有折叠,设置foldlevel为0。

 

 

 

 

在折叠间移动:

1  [z  到当前打开折叠的开始。如果已在开始处,移到包含这个折叠的折叠开始处。
2  ]z  到当前打开折叠的结束。如果已在结束处,移到包含这个折叠的折叠结束处。
3  zj  把光标移动到下一个折叠的开始处。
4  zk  把光标移动到前一个折叠的结束处。

 

 

 

 

在vim中运行  :h Folding  命令,查看折叠的帮助文档。

 

 

 

 

=============================================================

 

 

 

 

 

 

另外,在https://www.cnblogs.com/welkinwalker/archive/2011/05/30/2063587.html处找到其他的操作:

 

zd      删除 (delete) 在光标下的折叠。仅当 'foldmethod' 设为 "manual""marker" 时有效。
zD     循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。
仅当 'foldmethod' 设为 "manual""marker" 时有效。


zE 除去 (Eliminate) 窗口里“所有”的折叠。 仅当
'foldmethod' 设为 "manual""marker" 时有效。

 

 

 

 

 

===========================================================

 

posted on 2022-03-08 22:29  Death_Knight  阅读(29)  评论(0编辑  收藏  举报

导航