窗口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. 高效C#编程:通过智能线程池管理提升性能

    前言 C#编程中,线程池(Thread Pool)是一个重要的概念,它允许开发者更有效地管理和利用系统资源.通过线程池,我们可以避免频繁地创建和销毁线程,从而减少系统开销并提高程序的响应速度和吞吐量. ...

  2. 简单 python 爬虫(爬取小说网)

    #https://blog.csdn.net/Isana_Yashiro/article/details/84582946 import requestsfrom bs4 import Beautif ...

  3. ASP.NET Core、Winform、WPF 删除多余的Microsoft.CodeAnalysis语言资源文件

    摘要:ASP.NET Core 3.1网站生成项目时,输出文件夹多出很多Microsoft.CodeAnalysis的语言资源文件github issue 问题# ASP.NET Core3.1网站生 ...

  4. Cmockery学习

    什么是cmockery? 是一个轻量级的C语言单元测试框架 什么是单元测试? 单元测试就是测试一个系统的最小实现单元,往往是函数 示例解析 #include <stdarg.h> #inc ...

  5. css作用 文本属性 颜色属性

    Css作用:美化页面 各种css属性 接触的 css属性 width: height: background: Color 选择符和声明 声明包括 属性:属性值 选择符:{ 属性:属性值 } 1:文本 ...

  6. 混入 - Mixins

    混入(mixins)是一种分发Vue组件中可复用功能的非常灵活的方式.混入对象可以包含任意组件选项.当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项. 混入分为:全局和局部 定义全局混 ...

  7. 三维API sheder 基础

    这个shader 是靠三维数学 影响 二维像素 导致像素颜色改变 它是每个像素走一遍脚本算法 写的时候注意 语言格式 写错了 shader脚本是不能用的,根本就不好使这个 可以用区域 用xyz y为0 ...

  8. redis 远程连接

    redis-cli -h host -p port -a password -h 服务器地址 -p 端口号 -a 密码

  9. TiDB 多集群告警监控-初章-监控融合、自动告警处理

    author:longzhuquan 背景 随着公司XC改造步伐的前进,越来越多的业务选择 TiDB,由于各个业务之间需要物理隔离,避免不了的 TiDB 集群数量越来越多.虽然每套 TiDB 集群均有 ...

  10. Vue学习:15.组件化开发

    组件化开发 组件化开发是一种软件开发方法,它将应用程序拆分成独立的.可重用的模块,每个模块都被称为组件.这些组件可以独立开发.测试.维护和部署,从而提高了代码的可维护性.可扩展性和复用性.在前端开发中 ...