窗口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. k8s的知识图谱以及相关的知识梳理

    一    kubernetes的知识图谱如下所示: 可以随时的根据自身情况来学习和深化对知识点的总结和归档

  2. 使用Redis实现短信登陆

    使用Redis实现发送验证码:验证码登陆.注册:登陆校验拦截.登陆状态刷新等一系列问题. 验证码发送和验证登陆注册 思路流程 整体的思路以及流程如题: 代码实现 实体类 User实体类 @Data @ ...

  3. uniapp uni-number-box组件 步长为1,还能输入小数思路分享

    正常情况,输入了步长为1,是无法在输入小数的.需求是要能输入一位小数,但如果直接步长设为0.1,又不能按1这样递增,输入数量上用起来肯定很麻烦. 于是我就想了一个折中方法,步长设为:1.01,然后值改 ...

  4. C# 数独 解法

    按照人的思维来做的. MyPos 就是 数组 行 列值. public class CalcShuDu { public int[][] IArrSd; public int IBlankCount; ...

  5. tkinter的Text组件设置禁止编辑

    完整代码: from tkinter import * import requests window = Tk() window.geometry('1000x500+300+100') window ...

  6. Android 12(S) Binder(三)

    学以致用,这一节来native binder实战! android 12中的service用到的Bp.Bn文件多由aidl生成,所以实战中也用aidl来生成. 1.文件目录结构 文件目录结构如上,偷懒 ...

  7. K8S POD控制器:从基础到高级实战技巧

    本文深入探讨了Kubernetes POD控制器的基础知识.配置示例.最佳实践,并通过一个电子商务公司的案例分析,展示了如何在复杂的生产环境中应用POD控制器,以优化云服务架构. 关注[TechLea ...

  8. 资源编排ROS之模块:实现模板代码复用(进阶篇)

    背景 资源编排服务(Resource Orchestration Service, 简称ROS)是阿里云提供的一项简化云计算资源管理的服务.您可以遵循ROS定义的模板规范编写资源栈模板,在模板中定义所 ...

  9. Qt-FFmpeg开发-回调函数读取数据(8)

    音视频/FFmpeg #Qt Qt-FFmpeg开发-使libavformat解复用器通过自定义AVIOContext读取回调访问媒体内容 目录 音视频/FFmpeg #Qt Qt-FFmpeg开发- ...

  10. [brief]虚拟机安装UbuntuServer

    1.下载Ubuntu--Server镜像官网点击 2.Vmware15.x配置 2G /boot 4G swap(一倍或两倍于分配内存量) rest / or /+/home 3.terminal下安 ...