窗口window

回忆上次

  • 我们这次了解了缓冲区buffer
  • ls可以查看buffer
  • 如下是buffer缓冲的一些flag

    • + 有修改未保存内容
    • - 可修改标签关闭
    • = 只读缓冲区
    • a 活跃缓冲区
    • u 没有在列表里面的缓冲区
    • h 隐藏缓冲区
    • x 有读取错误的缓冲区
    • % 当前缓冲区
    • #swap替换文件的缓冲区
  • 可以在buffer跳转

    • 可以通过bn[ext],选择下一个buffer
    • 可以用b[uffer1]b2进入指定的 buffer
    • 也可以用文件名,比如b[uffer] oeasy.txt
    • 可以用bf[irst],打开第一个buffer
    • 可以用bl[ast],打开最后一个buffer
  • 不保存也可以跳转

    • 设置 hidden
  • 跳转的时候自动保存

    • 设置 autowrite
  • 可以用大写字母设置跨文件标记mark

    • mA 添加标记
    • 'A 跳转到标记
  • 关于强行跳转和保存退出

    • 强制退出当前窗口 :q!
    • 不保存强行退出所有buffer :qall!
    • 保存所有未保存的文件:wall
    • 全部保存并退出:wqall
  • vim中打开的两个文件缓存buffer
  • 可以放到两个窗口里面同时查看吗?

查询手册

  • 查一下手册:h window

  • 三者定位

    • 上次的 buffer缓存 是内存中的文件缓存
    • 这次的 window窗口 是打开 buffer 的一个视角
    • tab 标签是 window窗口的集合
  • 我们可以

    • 通过:sp[lit]来上下切分窗口
    • 且切分了之后
    • 我们可以在一屏幕内同时看到第1行和第1000行
    • 切分出窗口之后可以用:q退出当前窗口
    • 这样就又回到单一窗口的状态

在此切分

  • :sp[lit]切分 窗口之后

    • 可以切换窗口
    • ctrl-w ctrl-k切换到当前窗口上面的窗口
    • ctrl-w ctrl-j切换到当前窗口下面的窗口
    • ctrl-w

      • 意味着window
    • ctrl-k、ctrl-j

      • 意味着切换的方向
  • 切分之后可以再次切分 :sp[lit]

    • 再次切换
    • ctr-w再ctrl-k

      • 切换到当前窗口上面的窗口
    • ctrl-w再ctrl-j

      • 切换到当前窗口下面的窗口

纵向切分

  • 我们现在位于中间的一层
  • :vsp[lit]

    • v的意思是 vertical 垂直方向
    • 于是就可以把这个 window 再垂直方向上进行切分
  • 在左右切换的时候,使用

    • ctrl-w再ctrl-h

      • 切换到当前窗口左面的窗口
    • ctrl-w再ctrl-l

      • 切换到当前窗口右面的窗口

退出窗口

  • 退出当前window窗口

    • :q
  • 强制退出当前window窗口不保存

    • :q!
  • 不保存强行退出所有

    • buffer :qall!
  • 保存所有未保存的文件

    • :wall
  • 全部保存并退出

    • :wqall

设置window显示与隐藏

  • :on[ly]

    • 保留当前window,其余的都hidden
  • :hide

    • 隐藏当前window
  • 如果:set autowrite

    • hidden的时候就自动保存

调整高度

  • 调整窗口 window 高度减小

    • 高度减小

      • ctrl-w -
    • 高度减小N

      • :res[ize] -N
  • 调整窗口 window 高度增大

    • 高度增大

      • ctrl-w +
    • 高度增大N

      • :res[ize] -N
  • 设置当前窗口高度值为N

    • :res[ize] N
    • 或者直接在正常模式下

      • z15cr
  • 总共是 80*24

    • 看着分配
  • 窗口高度都统一

    • ctrl-w再=

调整窗口 window 宽度

  • 调整窗口 window 宽度减小

    • 宽度减小

      • ctrl-w <
    • 窗口 window 宽度减小N

      • :vertical res[ize] -N
  • 调整窗口 window 宽度增大

    • 宽度增大

      • ctrl+w >
    • 宽度增大N

      • :res[ize] -N
    • 设置当前窗口宽度值为N

      • :vertical res[ize] N
  • 窗口高度宽度都统一

    • ctrl-w再=
  • 总共是 80*24

    • 还是得看着分配看着分配

状态横条

  • :set laststatus=0不用状态横条
  • :set laststatus=1有多个窗口的时候,最底下有一个状态横条
  • :set laststatus=0各窗口有各自的状态横条

快速终端

  • 可以用:terminal或者:ter切换到命令模式
  • 只有vim8以上的版本才支持
  • 可以试试不?

    • 看起来是单独新建了一个进程
  • 如何上下切换 窗口 window ?

    • 快捷键
  • 如何切出 shell ?

    • 试试 exit 命令

  • 想要纵向分屏出shell?

    • :vertical terminal
    • :vert ter

总结

  • 我们这次了解了 窗口window
  • 窗口是用来装 缓冲buffer
  • buffer 是在内存里面载入的硬盘文件
  • 窗口的切分

    • :sp[lit] 水平切分
    • :vsp[lit] 垂直切分
  • 窗口的切换

    • ctrl-w再ctrl-k

      • 切换到当前窗口上面的窗口
    • ctrl-w再ctrl-j

      • 切换到当前窗口下面的窗口
    • ctrl-w再ctrl-h

      • 切换到当前窗口左面的窗口
    • ctrl-w再ctrl-l

      • 切换到当前窗口右面的窗口
  • 窗口的隐藏和全屏

    • :hid[e]可以隐藏当前窗口

      • 隐藏的windowbuffer不保存
      • 除非设置了autowrite
    • :on[ly]可以全屏当前窗口

      • 其他的窗口都进入:hide状态
  • 'laststatus' 可以设置状态横条
  • :terminal 可以开启终端
  • 这次主要就是window窗口,还挺方便
  • 尤其多文件操作
  • 这个还有什么可玩的吗?
  • 下次再说

[Github地址] (GitHub - overmind1980/oeasyvim: 这是oeasy制作的的一套关于vim的教程 可以在 https://www.lanqiao.cn/teacher/courses/2840 做实验 邀请码FJWYIMGB 本教程从0基础开始,到精通vim配置,和高级命令。希望能让vim是你的开发更高效。)

[Gitee地址] (overmind1980/oeasyvim)

[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 vim_Linux - 蓝桥云课)

oeasy教您玩转vim - 63 - # window分屏的更多相关文章

  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. vim中的分屏操作

    title: vim中的分屏操作 date: 2017-11-14 21:45:11 tags: vim categories: 开发工具 在命令行中: vim -On file1 file2 # O ...

  5. vim如何进行分屏操作

    文章转自:http://www.netingcn.com/vim-%E5%88%86%E5%B1%8F%E6%93%8D%E4%BD%9C.html 启动vim打开多个文件并分屏显示: vim -on ...

  6. Linux学习笔记之十二————vim编辑器的分屏操作

    一.分屏操作: sp: 上下分屏,后可跟文件名 vsp: 左右分屏,后可跟文件名 Ctr+w+w: 在多个窗口切换 二.启动分屏: 1.使用大写O参数进行垂直分屏 $ vim -On file1 fi ...

  7. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  8. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  9. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  10. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

随机推荐

  1. linux常见的网络操作命令

    1  linux在某个网卡上面添加一条明细路由命令如下 命令的意思是在这台服务器上面添加一条网段为192.168.1.0/24,网关为192.168.2.1,通过eth0这个网卡口出去 ip rout ...

  2. 防火墙规则之iptables

    防火墙规则之iptables 一 如何禁止外面应用对某个端口访问 iptables -I INPUT -p TCP ! --source 127.0.0.1 --dport 8080 -j DROP ...

  3. FolkMq v1.4.6 发布(可以内嵌的消息中间件)

    功能简表 角色 功能 生产者(客户端) 发布消息.定时消息(或叫延时).顺序消息.可过期消息.事务消息.支持 Qos0.Qos1 消费者(客户端) 订阅.取消订阅.消费-ACK(自动.手动) 服务端 ...

  4. request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired

    换华为的,否则会出问题:cnpm confg set registry https://mirrors.huaweicloud.com/repository/npm/ npm ERR! code CE ...

  5. SELinux 安全模型——TE

    首发公号:Rand_cs SELinux 安全模型--TE 通过前面的示例策略,大家对 SELinux 应该有那么点感觉认识了,从这篇开始的三篇文章讲述 SELinux 的三种安全模型,会涉及一些代码 ...

  6. 深入剖析C++多态的实现与原理-详解

    目录 多态基础 虚函数 虚函数的继承 虚类/虚基类 重写/覆盖 条件: 概念: 多态的条件 其他的多态行为 多态中子类可以不写virtual 协变 代码举例 继承遗留问题解决 析构函数 具体解决方式: ...

  7. EF MYSQL DB FIRST 出现2次数据库名

    环境:使用ADO设计器添加的数据库实体,运行时出现 :Table 'world.world.city' doesn't exist . world 是mysql的演示数据库. MySql.Data.E ...

  8. epoll使用与原理

    使用要点 边缘模式(ET)与水平模式(LT)区别 下面内容来自linux man page The epoll event distribution interface is able to beha ...

  9. logback日志格式模板,基于TraceId搜索完整的请求链路日志

    logback日志格式模板,基于TraceId搜索完整的请求链路日志 日志打印格式:(可以基于TraceId:4d484c2a110eae9d来搜索完整的请求链路日志2023-08-28 15:06: ...

  10. R 语言入门学习笔记:软件安装踩坑记录——删除所有包以及彻底解决库包被安装到 C 盘用户目录下的问题,以及一些其他需要注意的点

    目录 R 语言入门学习笔记:软件安装踩坑记录--删除所有包以及彻底解决库包被安装到 C 盘用户目录下的问题,以及一些其他需要注意的点 软件版本及环境 遇到的问题描述 问题的分析和探究 最终的解决方案 ...