Skip to content

我的闲谈:科学工程技术与生活

Personal view for science engineering technology and life

Menu
  • 首页
Menu

Vim基础教程 – 折叠

发布于: 2023-05-122023-05-20 by eleon

文章标签

vi
vim
折叠

如何在Vim中折叠指定的行?

要折叠指定的行,需要先创建折叠。创建折叠的方式有下面几种,都需要先处于普通模式。

方式一:z + f + motion 可以创建光标所在的当前行至motion行折叠。比如 zfgg 可以从当前光标所在行到第一行创建折叠,其中 gg 这个motion表示文件第一行; 比如 zf3j 可以从当前光标所在行到下面3行创建折叠,其中 3j 这个motion表示光标下移3行; 再比如 zfG 可以从当前光标所在行到文件结尾创建折叠,其中大写的 G 这个motion表示移动光标到文件的最后一行。

方式二:count + z + F 创建当前行之后的count行的折叠,注意这里的 F 为大写。比如 5zF 会将光标所在当前行和下面5行创建新的折叠。

方式三:z + f + % 查找光标所在的块进行块的折叠。比如将光标至于开始大括号的位置,按 zf% 按键会将大括号里面的内容折叠起来。

方式四:可以在普通模式下面使用文本对象,比如将光标置于大括号之内,zfa{ 可以使大括号内的内容被创建为一个折叠。

如何在Vim中展开已经折叠的行?

z + o 在普通模式下面,将光标置于折叠关闭的所在行,然后按 zo 按键即可展开这个折叠。

z + O 在普通模式下面,将光标置于折叠关闭的那一行,然后按小写的 z 和大写的 O 按键,除了可以展开一层折叠之外,所有包含在这层折叠之内的折叠都会被展开。

这里的大小写的 O 按键的含义是 open 的意思,小写的 o 只展开一层,而大写的 O 会递归的展开所有的子折叠。

如何在Vim中将已经展开的折叠合起来?

z + c 在普通模式下面,将光标置于创建的折叠之内,然后按键 zc 即可关闭光标所在行折叠。

z + C 在普通模式下面,将光标置于创建的折叠之内,然后按小写的 z 和大写的 C 按键,当前行的所有父折叠都会被关闭。

这里大小写的 C 是 close 的缩写,小写的 c 只会关闭最近的一个层级,而大写的 C 会递归关闭光标所在行之外的折叠。

在Vim中什么命令可以切换折叠的打开和关闭?

z + a 在普通模式下面,如果折叠处于关闭状态,将光标置于折叠关闭的所在行,然后按 za 按键即可展开这个折叠;如果折叠处于打开状态,将光标置于创建的折叠之内,然后同样的按键 za 可关闭光标所在行折叠。

z + A 和小写的 za 功能类似, z 和大写 A 按键,也可以切换光标所在折叠。不同之处在于大写的 A 命令是递归的,展开折叠的时候所有的子折叠都被展开,关闭折叠的时候外层所有的折叠都被合起来。

这里大小写的 A 是 alternate 的缩写,大写 A 与小写 a 的不同之处在于是否递归处理。

在Vim中如何删除折叠?

z + d 在普通模式下面,如果折叠处于关闭状态,将光标置于折叠关闭的所在行,然后按 zd 按键即可删除光标所在行的折叠。

z + D 在普通模式下面,如果折叠处于关闭状态,将光标置于折叠关闭的所在行,然后按 zD 按键即可递归删除光标所在行的折叠。

大小写 D 代表 delete 的意思,大小写区别在于,小写的 d 只会删除一层折叠,而大写的 D 会删除所有包含子层级的折叠。

z + E 在普通模式下面,按键 zE 按键可以删除文件内的所有的折叠。

在Vim中如何使光标在折叠之间移动?

可以使用 z + motion 这个模式,比如在普通模式下面,zj 按键会移动到下个折叠的开始, zk 按键会移动到前面一个折叠的开始。

如何在Vim中激活和禁止折叠的功能?

z + N 在普通模式下面,zN 按键可以激活折叠功能。

z + n 在普通模式下面,zn 按键可以禁止折叠功能。

z + i 在普通模式下面,zi 按键可以使折叠功能的状态在激活和禁止之间切换。

Vim中关于折叠常用的配置有哪些?

  1. :set foldenable:这个配置可以激活被禁止的折叠功能,可以通过命令配置,具体可见本文前面一节关于激活和禁止折叠的介绍。
  2. :set foldlevel=3:这个foldlevel配置也可以通过命令进行配置: z + M:设置值0; z + m z + r:减少和增加配置的值;
  3. :set foldmethod=indent:foldmethod选项的值:manual, indent, syntax, diff, expr, marker;

Vim视频教程 – 折叠

课程资料具体可以查看课程介绍。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

You must enable javascript to see captcha here!

搜索

所有分类

  • 周易
  • 建站
  • 梦境
  • 计算机
  • 量子计算机
晋ICP备19015149号-3
© 2025 我的闲谈:科学工程技术与生活
Zhang Yuliang's Personal Website