折叠入门
回顾上次
- 上次学习了一种新的容器
tabs
选项卡 -
tabs
选项卡 蕴含多个选项卡tab
- 能够列两个
tab
- 一个编写文件
- 一个执行指令
- 互不影响
- 能够列两个
-
每个
tab
选项卡 还能够对应多个window
- 能够开两个
window
比照不同 - 或者在很长的文档高低比照
- 新建
tab
–:tabnew
- 切换
tab
– gt、gT - 指定
tab
–1gt
2gt
3gt
- 敞开
tab
–:tabc
- 列表
tab
–:tabs
- 能够开两个
- 除了这些之外还有别的容器吗?🤔
- 还是有的!
折叠 folding
- 这次的容器不在
buffer
缓存 之外 - 而在
buffer
缓存 外部 - 是折叠文字
- 怎么折叠呢?
- 好比说咱们这里有个
css
文件 - 在
http://github.com/overmind1980/oeasyvim.git
外面 - 找到
oeasy.css
创立折叠
-
zf6G
- 报错了
:h E350
E350
:set foldmethod?
:h foldmethod
手动模式
-
把折叠模式设置为 manual
:set foldmethod=manual
-
咱们的
folding
折叠都和字母 z 相干- 因为
z
就像一摞纸张打包之后的样子 zf
就是打包fold
zf
前面能够加motion
- 因为
-
zf4G
- 从光标地位到第 4 行
- 打一个包
- 而后咱们就能够看到这几行变成了一行
- 真的产生了折叠!😝
开关折叠
- 咱们能够把光标放到折叠之后的那一行
-
zo
能够关上折叠- 第一个
z
是折叠 - 第二个
o
是open
关上
- 第一个
-
zc
能够敞开- 第一个
z
是折叠 - 第二个
c
是close
敞开
- 第一个
-
这两个是折叠最罕用的命令
- 关上
- 敞开
折叠树
-
咱们能够设置左侧折叠树
foldcolumn
:set foldcolumn=4
-
就在最右边有 4 列专门负责关上和敞开折叠的显示
- + 是敞开
- - 是关上
-
能够重复横跳来玩
- 只有有 +、- 的中央就能够 zc、zo
-
多重折叠
- 能够折叠带有折叠的行
- 也就是折叠的嵌套
- 折叠多了容易乱
- 咱们要手动删除折叠
勾销和再次折叠
-
删除折叠的快捷键是
zd
- 顾名思义
–z
是折叠 d
是删除
- 顾名思义
- 来试试
-
在左侧
foldcolumn
是+
的中央- 应用命令 zd 删除以后光标地位对应的折叠
-
如果折叠是嵌套的
- 先删除内层的折叠
-
zD
是递归地删除折叠- 能够把以后光标的递归折叠都删除
-
如果折叠都被删没有了
- 能够先
zf2j
创立一些折叠
- 能够先
- 好,咱们把所有的折叠都删洁净了
- 而后咱们试试创立折叠更好的办法
利用 {} 创立折叠
zf
是创立折叠zf2j
中的2j
是motion
- 能够在 {} 内应用
zfa{
创立以后标记的折叠 - 可用
zfi{
创立折叠 - 成果如下图
- 试一下
- 能不能一把关上所有的折叠呢?
折叠档次
- 有这样一个属性叫做
foldlevel
- 折叠档次
- 到底怎么用呢?
-
:set foldlevel=0
- 折叠都关了
-
:set foldlevel=1
- 折叠都开了
- 还是挺不便的
-
不过每个大括号都要本人发明折叠
- 是否可能主动创立折叠呢?
缩进折叠
- 首先咱们退出以后这个文件
- 而后从新关上
-
关上之后先察看以后的折叠模式
:set foldmethod?
-
如果是 manual
:set foldmethod=indent
- 把他强制设置为缩进折叠
- 能够把这句话写进
~/.vimrc
这样每次都是缩进折叠了 - 我感觉缩进折叠还是很不便的
-
:set foldcolumn=4
- 呈现折叠树
-
:set foldlevel=0
- 全副暗藏
-
:set foldlevel=1
- 全副关上
-
indent 折叠要求缩进必须严格符合要求
gg=G
能够帮忙你管制缩进
总结
- 这次咱们讲的是折叠
-
折叠有很多 options
foldlevel
– 显示折叠档次foldcolumn
– 折叠树宽度-
foldmethod
– 折叠形式manual
– 手动indent
– 缩进
-
折叠的定义
-
zf2j
- 以后行和上面两行建设折叠
-
zfa{
- 用大括号 (蕴含) 建设折叠
-
zfi{
- 用大括号 (不蕴含) 建设折叠
-
-
折叠的删除
zd
-
折叠的关上和敞开
zo
openzc
close:set foldlevel=1
设置折叠档次
- 这个缩进折叠能够对于程序文件应用么?🤔
- 下次再说!
[Github 地址] (https://github.com/overmind19…)
[Gitee 地址] (https://gitee.com/overmind198…)
[蓝桥实验楼 邀请码 FJWYIMGB] (https://www.lanqiao.cn/course…)