Vim技能修炼教程(11) - 代码折叠
2023-09-11 14:19:46 时间
上一讲我们是程序员篇的第一讲,关于代码跳转。代码跳转是一个付出很少收获很大的功能。这一节我们开始一个收获很多,但是付出也相对多一点功能:代码折叠。
折叠的类型折叠有下面几种类型:
Manual: 手动创建折叠。但是退出vim后就一切都没了。 Marker: 基于特定的字符组合进行折叠。 Expr: 定义正则表达式来处理折叠,这是最终的解决方案。 Indent: 这个最简单也最基本,根据缩进来折叠。 Syntax: 根据程序语义进行折叠。我们先看一个例子,左边是采用syntax方式进行折叠的,右边是采用indent方式。
从上面的例子可以看到,折叠方式的属性是跟窗口相关的,每个窗口都设置不同的折叠方式。
设置折叠的方式,是通过设置foldmethod属性来实现的,例:
:set foldmethod=indent :set foldmehtod=syntax折叠操作命令速成
折叠命令都是以z字开头的,对于中国人最友好了,就是折字的拼音首字母么。
最重要的折叠命令就是za,切换折叠状态。
za: 切换折叠状态 zA: 递归切换折叠状态 zo: 打开一个折叠 zc: 关闭一个折叠 zj: 移动到下一个折叠 zk: 移动到上一个折叠我们可以通过zf命令手动创建折叠。比如上图中,Pseudo code for int 21那一段我们看着不爽,想把它折叠起来。
我们先切折叠模式:
:set foldmethod=manual
然后移动到Pseudo那一行,输入创建命令:
zf4j
zf是创建折叠命令,后面接命令的范围,我们要创建这5行的折叠,所以我们用4j向下移动4行。
最后,在这5行上试试zc命令吧,就是下面这个效果:
我们如果可以数出来有几行的话,可以使用zF命令来创建,例:
5zF
上面就创建5行的折叠。
vim虽然功能很全,但是不可能支持每一种我们想要的格式。我们还是需要写脚本来实现自己的折叠方式的。不过我们还没有学习vimscript的基础,这一部分后面我们再补课。
教程 | Vim 教程【命令-操作-快捷键】 命令历史以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件 文件命令打开单个文件 vim file 同时打开多个文件 vim file1 file2 file3 ... 在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 切换到上一个文件 查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。
Vim技能修炼教程(15) - 时间和日期相关函数 前面我们走马观花地将Vimscript的大致语法过了一遍。下面我们开始深入看一下Vimscript都给我们准备了哪些武器。如果只用这些武器就够了,那么就太好了,只用Vimscript会导致最佳的兼容性。否则不管是用:python还是使用扩展库,都给可移植性带来麻烦。
lusing 刘子瑛,阿里系统框架专家。工作十余年,一直对新编程语言、新开发方法、数学与算法相关和并发等相关领域保持浓厚的兴趣。乐于通过技术分享促进新技术。
相关文章
- vim中多行注释 和 删除多行注释
- Linux技巧--Redhat 5系统中的vim编辑器无法正常显示中文解决方案(中文显示为乱码)/Ubuntu 12.04系统gedit中文乱码
- 修改VIM恶心的注释自动格式化
- vim中文手册
- ubuntu 使用sudo vim /etc/apt/sources.list命令修改文件后该如何退出?
- Linux vim替换操作
- Linux vim的三种模式
- VIM显示utf-8文档乱码解决方法
- Vim简明教程【CoolShell】
- Ubuntu之vim:vim编辑工具的简介、安装、使用方法之详细攻略
- Linux实验报告六【命令vim、cat、echo、grep、wc的使用】和【shell脚本的编译运行】