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
我们来回顾一下 上一部分我们都讲了什么?
随机推荐
- redis 的下载与安装
下载地址:https://github.com/MicrosoftArchive/redis/releases 选择免安装包: 解压到路径 D:\Redis-x64-3.0.504 用管理员权限打开 ...
- PaddleOCR之高性能Go语言实现OCR识别
最近为了让python语言能够直接调用PaddleOCR的C++的动态链接库,针对本人已经开源的PaddleOCR项目https://gitee.com/raoyutian/paddle-ocrsha ...
- 深入探讨Function Calling:在Semantic Kernel中的应用实践
引言 上一章我们熟悉了 OpenAI 的 function calling 的执行原理,这一章节我们讲解一下 function calling 在 Semantic Kernel 的应用. 在Open ...
- zabbix笔记_007 zabbix 分布式架构
1. zabbix 分布式架构[服务器数量较大的场景下使用] 现有架构: agent --> zabbix server proxy架构: agent --> zabbix proxy - ...
- 记一次bug排除心得
问题背景 要做一个需求,大概是检测到某输入重启,于是写一个demo调试一下 c语言程序,交叉编译后在adb shell下运行 思路 用 am 命令直接重启 我们先手动验证一下,发现这个设备不支持am命 ...
- GNU gprof分析C性能
参考 gprof的简单使用-anthony1983-ChinaUnix博客 Top (GNU gprof) (sourceware.org) c - Enable and disable gprof ...
- 箭头函数中的this指向
// 箭头函数中的this指向 // 如果是箭头函数,this指向是,父级程序的,this的指向 // 如果父级程序是一个函数,函数也是有t ...
- kettle从入门到精通 第六十七课 ETL之kettle 再谈kettle阻塞,阻塞多个分支的多个步骤
场景:ETL沟通交流群内有小伙伴反馈,如何多个分支处理完毕之后记录下同步结果呢?或者是调用后续步骤.存储过程.三方接口等. 解决:使用步骤Blocking step进行阻塞处理即可. 1. 如下流程图 ...
- vue中退出循环的方法
forEachforEach不能使用break和continue.return也无法退出循环. 使用break,会报错(报错信息:SyntaxError: Illegal break statemen ...
- vuex中的数据在页面刷新后数据消失
用sessionstorage 或者 localstorage 存储数据 存储: sessionStorage.setItem( '名', JSON.stringify(值) ) 使用: sessio ...