oeasy教您玩转vim - 63 - # window分屏
窗口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再垂直方向上进行切分
- v的意思是
在左右切换的时候,使用
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]可以隐藏当前窗口- 隐藏的
window中buffer不保存 - 除非设置了
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分屏的更多相关文章
- 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改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- vim中的分屏操作
title: vim中的分屏操作 date: 2017-11-14 21:45:11 tags: vim categories: 开发工具 在命令行中: vim -On file1 file2 # O ...
- vim如何进行分屏操作
文章转自:http://www.netingcn.com/vim-%E5%88%86%E5%B1%8F%E6%93%8D%E4%BD%9C.html 启动vim打开多个文件并分屏显示: vim -on ...
- Linux学习笔记之十二————vim编辑器的分屏操作
一.分屏操作: sp: 上下分屏,后可跟文件名 vsp: 左右分屏,后可跟文件名 Ctr+w+w: 在多个窗口切换 二.启动分屏: 1.使用大写O参数进行垂直分屏 $ vim -On file1 fi ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
随机推荐
- pod(四):pod的重启策略和生命周期
目录 一.系统环境 二.前言 三.pod的重启策略 四.pod的生命周期 一.系统环境 服务器版本 docker软件版本 Kubernetes(k8s)集群版本 CPU架构 CentOS Linux ...
- Laravel 模块化开发模块 – Caffienate
Laravel多模块配置 1. 安装对应版本"caffeinated/modules" composer require caffeinated/modules 相应版本号 L ...
- Asp.NetCore3.1 asp.net 5.0 中多次读取 Request.Body Ajax Post过来的JSON数据等 已验证有效
首先,以下方式是错误的(这个重复读取只能在using语句里面生效,因为用了ms对象赋值,当using结束后ms资源被释放,Request.Body就无法再读了) [HttpPost] public a ...
- harbor 构建企业级镜像仓库
安装harbor 构建企业级镜像仓库 Harbor是由VMware公司开源的镜像仓库,harbor是在docker Registry上进行了企业级扩展,从而获得了更广泛的应用,这些新的企业级特性包括: ...
- 8.17考试总结(NOIP模拟42)[卷·简单题·粉丝·字符串]
你的败因只有一个,就是与我为敌. T1 卷 解题思路 乍一看,简单的树形 DP . 后来一看数据范围,发现事实并非如此.(\((10^9)^{2\times 10^5}\)????) 毕竟取 \( ...
- uniapp 跳转指定的tab导航页面
考察的知识点:1.uniapp的页面跳转方法:uni.navigateTo2.页面跳转传值的方法:'?名称=值' 的方式3.参数的接收 onload(option){} 第一个页面的写法: toCom ...
- kettle从入门到精通 第五十七课 ETL之kettle调用存储过程
1.之前有个同学说他使用kettle执行一坨sql语句时,kettle直接卡死掉了.我给出的建议是使用存储过程,果不其然使用存储过程顺利解决问题. 今天我们一起来学习下kettle如何调用存储过程,这 ...
- kettle从入门到精通 第三十课 mysql 数据连接常用配置
1.我们平常用的最多的数据库就是mysql了,这里我以mysql为例说下数据库连接池配置.为啥要用连接池,因为数据库建立连接很费性能,所以就建立连接池(提前建立好一批连接)缓存起来提高性能.下图中my ...
- Netty(三)Netty模型
1. Netty模型 Netty主要基于主从Reactor多线程模型做了一定的改进,其中主从Reactor多线程模型有多个Reactor. 简版图: 说明: BossGroup线程维护Selector ...
- Swoole v6 能否让 PHP 再次伟大?
大家好,我是码农先森. 现状 传统的 PHP-FPM 也是多进程模型的的运行方式,但每个进程只能处理完当前请求,才能接收下一个请求.而且对于 PHP 脚本来说,只是接收请求和响应请求,并不参与网络通信 ...