窗口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 - 藍橋雲課)