oeasy教您玩转vim - 68 - # 标签页tab
tab选项卡
回忆上次
上次有三种批量替换,分别是
:windo
:bufdo
:argdo
执行的
{cmd}
可以用|
按顺序增加分别对应的
windows
窗口buffers
缓存文件arguments
参数文件各有各自的列表、切换、删除增加的方式
以什么开始、结束的模式
zs
ze
关于
window
窗口容器我们切得越细
可用的范围越小
总共
80*24
的屏幕资源很快就用完了我又想多线程访问
又想有足够的屏幕来编辑
那怎么办呢?🤔
除了window之外还有容器吗?🤔
tabs选项卡
我们发现用windows的方式瓜分屏幕
很快就有了尽头
因为window之间彼此不覆盖
所以80*24个字符的空间很快被填满
有什么方法建立可覆盖的空间么?
还真有那就是
tab
选项卡在terminal中运行
vi ooo
:tabnew oeasy.txt
新建一个tab选项页
tab里面有一个window
window里面一个buffer
buffer内容是
oeasy.txt
可以用
:tabs
查看当前有几个tab
里面分别打开着什么:tabnew h gt
在新的tab选项卡里面查询gt命令
:tabnew ./oeasy.java
在新的tab选项卡里面打开当前目录下的oeasy.java
:tabnew ~/.vimrc
在新的tab选项卡里面打开~/.vimrc
切换
tabs
切换:tabnext - 下一个tab - 快捷键gt
:tabprevious - 上一个tab - 快捷键gT
:tablast - 最后tab
:tabfirst - 最初tab
:tabclose
关闭当前tab
:tabonly
只保留当前的tab

tab
中再分window
给第一个
tab
水平方向分成两个window
:split
分别打开
o2
和o3
给第二个
tab
先水平再垂直分成三个
window
:split
和:vsplit
观察
:tabs

当前
window
就是
tab 页 1
的o3
这个window
前面有大于号表明这是当前
current
窗口window
当然也可以
:wa
:wqa
:qa
:qa!
选择
先选择
tab
选项卡:tabnext - 下一个tab
:tabprevious - 上一个tab
:tablast - 最后tab
:tabfirst - 最初tab
再选择
window
窗口ctrl-w再k切换到当前窗口上面的窗口
ctrl->w再j切换到当前窗口下面的窗口
ctrl-w再h切换到当前窗口左面的窗口
ctrl-w再l切换到当前窗口右面的窗口
选好了位置之后可以选择
buffer
缓存:b1
把当前窗口位置显示buffer1
缓存内容窗口的隐藏和全屏
:hid[e]
可以在当前的tab
选项卡 隐藏当前窗口隐藏的
window
窗口 中buffer
缓存 不保存除非设置了
autowrite
:on[ly]
可以在当前的tab
选项卡全屏显示当前
window
窗口其他的窗口都进入
:hide
状态
跳转到指定的选项卡tab

tab1
跳转到第1个tabtab2
跳转到第2个tabtab3
跳转到第3个tabtab5
跳转到第5个tab
移动选项卡位置
:-tabmove
当前选项卡左移动:+tabmove
当前选项卡右移动:0tabmove
当前选项卡移动到最左边:tabmove 0
当前选项卡移动到最左边这样的选项卡很方便打开一个帮助
:tab help gt
按照选项卡打开文件
vim -p file1.js file2.js file3.js
对比原来按照
window
打开文件vim -o file1.js file2.js file3.js
vim -O file1.js file2.js file3.js

:tabn
和:tabp
可以切换标签页更快速的方法是
gt
、gT
、1gt
容器汇总
vim命令打开的参数对应一个列表 -
arguments
参数列表列表 -
:args
添加 -
:arga
删除 -
:argd
执行命令 -
:argdo
打开的文件缓存对应一个列表 -
buffers
缓存列表列表 -
:ls
添加 -
:e .
切换 -
:b1
关闭 -
:bd
执行命令 -
:bufdo
tab选项卡对应一个列表 -
tabs
选项卡列表列表 -
:tabs
打开 -
:tabnew
切换 -gt、gT
关闭 -
:tabc
执行命令 -
:tabdo
tab选项卡中的窗口对应一个列表 -
windows
窗口列表列表 -
:sp
、:vsp
打开 -ctrl+w后加hjkl
关闭 -
:q
执行命令 -
:windo
总结
学习了一种新的容器
tabs
选项卡tabs
选项卡 是多个选项卡tab
可以列两个
tab
一个编写文件
一个执行指令
互不影响
每个
tab
选项卡 对应多个window
可以开两个
window
对比不同或者在很长的文档上下对比
新建
tab
-:tabnew
切换
tab
-gt、gT指定
tab
-1gt
2gt
3gt
关闭
tab
-:tabc
列表
tab
-:tabs
除了这些之外还有容器吗?🤔
下次再说 *
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)