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地址] (
?