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
    • 分别打开o2o3
  • 给第二个tab先水平

    • 再垂直分成三个window
    • :split:vsplit
  • 观察 :tabs

  • 当前 window

    • 就是tab 页 1o3这个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个tab
  • tab2跳转到第2个tab
  • tab3跳转到第3个tab
  • tab5跳转到第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可以切换标签页
  • 更快速的方法是gtgT1gt

容器汇总

  • 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

总结

oeasy教您玩转vim - 68 - # 标签页tab的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. EasyUI创建异步树形菜单和动态添加标签页tab

    创建异步树形菜单 创建树形菜单的ul标签 <ul class="easyui-tree" id="treeMenu"> </ul> 写j ...

  5. Bootstrap标签页(Tab)插件

    标签页(Tab)在Bootstrap导航元素一章中简介过,通过结合一些data属性,您可以轻松地创建一些标签页界面.通过这个插件您可以把内容放置在标签页或胶囊式标签页甚至是下拉菜单标签页中. 用法 您 ...

  6. 标签页tab.js 在栏目之间切换,局部变化

    1.在使用bootstrap 中,我们会用到在栏目之间切换,来刷新页面的局部,可以使用下面的方法 <link rel="stylesheet" href="http ...

  7. 在QMainWindow中利用多个QDockWidget构成标签页tab(原创)

    功能描述: 在QMainWindow下,使用多个QDockWidget构成可切换,可拖动,可关闭的标签页:标签页的切换由相关联的QAction触发. 实现效果: 代码如下: QDockWidget * ...

  8. 解决Bootstrap 标签页(Tab)插件切换echarts不显示问题

    1.参考连接:https://blog.csdn.net/qq_24313955/article/details/78363981 问题描述:在echarts跟bootstrap选项卡整合的时候,默认 ...

  9. bootstrap 标签页tab切换js(含报错原因)

    booststrap 标签页的tab切换,相信大家已经都很熟悉了,在boot官网示例以及其他网站已经很多罗列相关代码的了,这里就不赘述了.这里主要贴下让boot标签页默认显示哪个标签页的js. 主要留 ...

  10. Bootstrap标签页(Tab)插件事件

    事件 下表列出了标签页(Tab)插件中要用到的事件.这些事件可在函数中当钩子使用. 事件 描述 实例 show.bs.tab 该事件在标签页显示时触发,但是必须在新标签页被显示之前.分别使用 even ...

随机推荐

  1. 5款.NET开源、免费、功能强大的图表库

    LiveCharts2 LiveCharts2是一个.NET开源(MIT License).简单.灵活.交互式且功能强大的.NET图表.地图和仪表,现在几乎可以在任何地方运行如:Maui.Uno Pl ...

  2. 【U8】 生产订单下bom 提示 “遇到以0做除数错误”错误

    一个虚拟件子件的子件为无换算率存货,bom中对应的换算率.辅助基本用量为0,修改为null后正常. 对应 bom_opcomponent表的 ChangeRate 换算率 AuxBaseQtyN 辅助 ...

  3. FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器

    ​AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10.Mozilla Daala以及Cis ...

  4. Android OpenMAX(四)OMX Core

    假设我们已经写好了所有的OMX组件,有vdec.venc.adec.aenc,接下来问题来了,我们应该如何管理这些组件呢(创建.销毁)?这一篇文章我们向上一层学习OMX Core提供的标准API. O ...

  5. Centos Stream 10 测试版下载:未来的RHEL10&Rocky Linux 10

    简介 最近发现Centos最放出了Stream 10 测试版本,应该是基于Fedora 40构建的.未来红帽会基于此版本构建RHEL 10. 内核版本:6.9.0 Python版本:3.12.2 RH ...

  6. STM32 + RT-Thread + LVGL

    一.基本信息 MCU:STM32F103ZET6 RT-Thread:5.0.2 LVGL:8.3.11 LCD:ST7735s 编译环境:RTThread studio 二.LVGL 移植要求 16 ...

  7. 大一统的监控探针采集器 cprobe

    需求背景 监控数据采集领域,比如 Prometheus 生态有非常多的 Exporter,虽然生态繁荣,但是无法达到开箱即用的大一统体验,Exporter 体系的核心问题有: 良莠不齐:有的 Expo ...

  8. leetcode | 103. 二叉树的锯齿形层序遍历 | JavaScript实现

    题目 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 .(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 思路 按照正常的层序遍历,然后再对下标为奇数的数组进 ...

  9. redis缓存详解(从入门到精通)

    引言 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(l ...

  10. kettle从入门到精通 第六十九课 ETL之kettle kettle cdc mysql,轻松实现实时增量同步

    1.之前kettle cdc mysql的时候使用的方案是canal+kafka+kettle,今天我们一起学习下使用kettle的插件Debezium直接cdc mysql. 注:CDC (Chan ...