oeasy教您玩转vim - 68 - # 标签页tab
tab选项卡
回忆上次
上次有三种批量替换,分别是
:windo:bufdo:argdo- 执行的
{cmd}可以用|按顺序增加
分别对应的
windows窗口buffers缓存文件arguments参数文件
- 各有各自的列表、切换、删除增加的方式
以什么开始、结束的模式
zsze
关于
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.jsvim -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-1gt2gt3gt - 关闭
tab-:tabc - 列表
tab-:tabs
- 可以开两个
- 除了这些之外还有容器吗?
- 下次再说
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 vim_Linux - 蓝桥云课)
oeasy教您玩转vim - 68 - # 标签页tab的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- EasyUI创建异步树形菜单和动态添加标签页tab
创建异步树形菜单 创建树形菜单的ul标签 <ul class="easyui-tree" id="treeMenu"> </ul> 写j ...
- Bootstrap标签页(Tab)插件
标签页(Tab)在Bootstrap导航元素一章中简介过,通过结合一些data属性,您可以轻松地创建一些标签页界面.通过这个插件您可以把内容放置在标签页或胶囊式标签页甚至是下拉菜单标签页中. 用法 您 ...
- 标签页tab.js 在栏目之间切换,局部变化
1.在使用bootstrap 中,我们会用到在栏目之间切换,来刷新页面的局部,可以使用下面的方法 <link rel="stylesheet" href="http ...
- 在QMainWindow中利用多个QDockWidget构成标签页tab(原创)
功能描述: 在QMainWindow下,使用多个QDockWidget构成可切换,可拖动,可关闭的标签页:标签页的切换由相关联的QAction触发. 实现效果: 代码如下: QDockWidget * ...
- 解决Bootstrap 标签页(Tab)插件切换echarts不显示问题
1.参考连接:https://blog.csdn.net/qq_24313955/article/details/78363981 问题描述:在echarts跟bootstrap选项卡整合的时候,默认 ...
- bootstrap 标签页tab切换js(含报错原因)
booststrap 标签页的tab切换,相信大家已经都很熟悉了,在boot官网示例以及其他网站已经很多罗列相关代码的了,这里就不赘述了.这里主要贴下让boot标签页默认显示哪个标签页的js. 主要留 ...
- Bootstrap标签页(Tab)插件事件
事件 下表列出了标签页(Tab)插件中要用到的事件.这些事件可在函数中当钩子使用. 事件 描述 实例 show.bs.tab 该事件在标签页显示时触发,但是必须在新标签页被显示之前.分别使用 even ...
随机推荐
- docker安装MySQL8.0.35主从复制(实战保姆级)
很久没有记录了,今天有时间就记录一下最近安装遇到的问题 liunx安装docker这个是前提,就不多过述 1 准备两台服务器 10.104.13.139 10.104.13.140 2 确保liunx ...
- CSS操作——背景属性
1.background-color(背景颜色) 页面的背景颜色有四种属性值表示,分别是transparent(透明),RGB十进制颜色表示,十六进制颜色表示和颜色单词表示. 属性使用: /* bac ...
- Android 13 - Media框架(25)- OMXNodeInstance(二)
关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节我们了解了 OMXNodeInstance 的创建过程,以及 IOmx 服务和 OMXNodeInstance.OMX组件之间的联系.接下来我 ...
- weinre 远程实时调试手机上的Web页面 JAVASCRIPT远程调试
版权归作者所有,任何形式转载请联系作者.作者:U_U(来自豆瓣)来源:https://www.douban.com/note/289846168/ 调试前端页面我一直使用着神器Chrome开发人员工具 ...
- 代码界的超级英雄:GitHub的奇幻冒险之旅
GitHub简介 GitHub是一个用于代码托管.版本控制和协作开发的平台.它于2008年2月8日由Chris Wanstrath.PJ Hyett和Tom Preston-Werner创立,目前由微 ...
- 8.17考试总结(NOIP模拟42)[卷·简单题·粉丝·字符串]
你的败因只有一个,就是与我为敌. T1 卷 解题思路 乍一看,简单的树形 DP . 后来一看数据范围,发现事实并非如此.(\((10^9)^{2\times 10^5}\)????) 毕竟取 \( ...
- uniapp SyntaxError: Unexpected token u in JSON at position 0 解决方案
今天在做页面跳转传值的时候,一直出现下面的报错: 后来查看了下文档,说如果你的JSON数据是在上一个页面传值过来的话, 这时候在接收数据页解析JSON也会报该错误,因为此时并没有相关的JSON数据从上 ...
- js沙雕排序之睡眠排序&随机排序
1.睡眠排序,只要睡的时间多少就可以排序出来不要在乎时间多少 var arr=[4,77,741,41,142,52,244]; var sleepSort=function(arr,callback ...
- netcore 打包dll发布到nuget服务器
可参考微软官网:NuGet.org 概述 | Microsoft Docs 一.创建类库 首先创建一个类库,就是你想要发布到nuget的类库,生成项目 二.下载并注册nuget nuget地址:htt ...
- php des加密用java解析不了 改个模式 加个IV php密钥/IV要求都是8位
php des加密用java解析不了 改个模式 加个IV php密钥/IV要求都是8位 php des加密用java解析不了 Wrong IV length: must be 8 bytes lon ...