窗口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地址] (