Vim-的-fold-功能

参考 Youtube

fold 操作都以 z 开头的原因, 因为 z 字母看起来向折叠的纸张.

查看当前的 foldmethod, 在普通模式下输入:

1
:set fdm

在 visual 模式下 fold 选中的行

首先设置 :set foldmethod=manual.

用 visual 模式选中行后按 zf (create fold) 则可 fold 选中的行.

fold 基本操作

zo (open fold) 可以打开 fold 的文本.

zc (close fold) 可以关闭 fold

一般情况下 fold 在你退出后不会保存, 若要保存可运行 :mkview

第二次加载文件时也需要加载 view, 即 :loadview

自动创建和加载 view 的设置:

1
2
autocmd BufWinLeave *.* mkview
autocmd BufWinEnter *.* silent loadview

删除一个 foldzd (delete fold)

以行号 fold 一段代码, 如:

1
:148,158fold

fold 当前行以下 10 行:

1
:,+10fold

(+10 也就是行号 +10)

fold 一对 {} 的内容, 按 zfa{ (fold text in {})

a 这个描述对于很多动词都管用. (和 i 类似)

对整个文件的 fold 操作

zn, 打开所有的 fold.

zN, 所有 fold 回到原来的状态.

打开一个范围的 fold, 如:

1
86, 136 foldopen

zE 去除文件内的所有欧 folds.

zr (reduce all folds one level), 也就是都打开一层

zR 打开所有 folds.

zm (fold up all folds one level)

zM

跳转 fold

zj 跳转到下一个 fold.

[z 跳转到当前 fold 的第一行.

]z 跳转到当前 fold 的最后一行.

嵌套 folds

zC, 关闭当前 fold 以及所有其内部嵌套的 folds.

zO, 打开当前 fold 以及所有其内部嵌套的 folds.

zA, zCzO 的 toggle.


Vim-的-fold-功能
http://example.com/2023/03/10/Vim-的-fold-功能/
作者
Jie
发布于
2023年3月10日
许可协议