打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
vim 折叠
userphoto

2022.07.11 上海

关注

前言

vim 折叠设置

模式

(1) manual 模式:set foldmethod=manual

创建折叠区 : zf

开启

关闭

删除

移动

(2) indent模式:set foldmethod=indent

(3) marker模式:set foldmethod=marker

总结

前言

本文章旨在总结自己在利用 Vim 阅读和写代码过程中所用的折叠代码的方法。

vim 折叠设置

vim 自带代码折叠功能。在 vim 中折叠设置:set fdm=xxx(fdm< foldmethod >缩写),可在 .vimrc 文件中定义实现,可永久有效。vim 自带的代码折叠有 manual,indent,marker,diff,syntax,expr等六种模式。

manual:手工定义折叠

indent:按缩进折叠

marker:用标记/{{{/ /}}}/来定义折叠

diff:比较模式,对没有更改的文本进行折叠

syntax:用语法高亮来定义折叠

expr:用表达式进行折叠

模式

(1) manual 模式:set foldmethod=manual

此模式下的折叠功能只能依靠人工创建折叠范围区,在此基础上对折叠区进行开启、关闭、删除和移动等操作。

创建折叠区 : zf

vj/vk/vG/vgg 选中区域后执行 zf

zfnj:从当前行开始向下到n行折叠

zfnk:从当前行开始向上到n行折叠

zfgg:从当前行到第一行折叠

zfG:从当前行到最后一行折叠

zfngg:从当前行到第n行折叠

zfap:按段落折叠

zfa(:折叠括号包围的区域(如:()、[]、{}、><等)

开启

za:开启/关闭当前折叠区,任何时候有效

zi:开启/关闭所有级折叠区,仅对对自己开启的折叠区有效

zv/zo:打开当前折叠区

zO:打开当前所有级折叠区

zr:打开同一级折叠区

zR:递归打开所有折叠区

关闭

zm:关闭同一级折叠区

zM:关闭所有级折叠区

zc:关闭当前折叠区

zC:关闭选取范围内所有级折叠区

zn:禁用折叠

zN:启用折叠

删除

zd:删除当前折叠区

zD:删除当前所有级折叠区

zE:删除窗口内所有折叠区

移动

zj:向下一个折叠点移动

zk:向上一个折叠点移动

[z:移动到打开后的折叠区的开始处

]z:移动到打开后的折叠区的结束处

vim不会自动记忆手工折叠点需要如下命令进行保存/读取

:mkview 进行保存

:loadview 进行读取

(2) indent模式:set foldmethod=indent

此模式下的折叠功能依据缩进自动进行,zf 在此模式中无效,在此基础上对折叠区进行开启、关闭和移动等操作与手动模式的一致。

:set foldlevel=1 #指定级别折叠缩进

:set foldlevelstart=99 #避免启动编辑器代码自动折叠

(3) marker模式:set foldmethod=marker

此模式默认按{{{ }}}标志作为缩进依据,zf 会自动生成该标志,在此基础上对折叠区进行开启、关闭、删除和移动等操作与手动模式的一致。

:set foldlevelstart=99 #避免启动编辑器代码自动折叠

总结

以上命令会持续补充,可以说“条条大路通罗马”,为完成一个任务可能不止一种方法,有好的方法可以完成相同的任务也欢迎大家提出宝贵的意见。

————————————————

版权声明:本文为CSDN博主「guihunkun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/guihunkun/article/details/123261809

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
语虚: VIM学习笔记 折叠 (Fold)
vi 折叠
vim - Big world, clean life - Simple life, wa...
*28.1* 什么是折叠?
vim编辑器技巧备忘(初级-中级)
大数据学习环境搭建系列(十)文本编辑器vim使用技巧
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服