欢迎光临散文网 会员登陆 & 注册

oeasy教您玩转vim - 63 - # window分屏

2021-11-16 08:22 作者:oeasy  | 我要投稿

窗口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]切分 窗口之后

    • 意味着切换的方向

    • 意味着window

    • 可以切换窗口

    • ctrl-wctrl-k切换到当前窗口上面的窗口

    • ctrl-wctrl-j切换到当前窗口下面的窗口

    • ctrl-w

    • 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 高度减小

    • :res[ize] -N

    • ctrl-w-

    • 高度减小

    • 高度减小N

  • 调整窗口 window 高度增大

    • :res[ize] -N

    • ctrl-w+

    • 高度增大

    • 高度增大N

  • 设置当前窗口高度值为N

    • z15cr

    • :res[ize] N

    • 或者直接在正常模式下

  • 总共是 80*24

    • 看着分配

  • 窗口高度都统一

    • ctrl-w再=

调整窗口 window 宽度

  • 调整窗口 window 宽度减小

    • :vertical res[ize] -N

    • ctrl-w<

    • 宽度减小

    • 窗口 window 宽度减小N

  • 调整窗口 window 宽度增大

    • :vertical res[ize] N

    • :res[ize] -N

    • ctrl+w>

    • 宽度增大

    • 宽度增大N

    • 设置当前窗口宽度值为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

  • 窗口的隐藏和全屏

    • 其他的窗口都进入:hide状态

    • 隐藏的windowbuffer不保存

    • 除非设置了autowrite

    • :hid[e]可以隐藏当前窗口

    • :on[ly]可以全屏当前窗口

  • 'laststatus' 可以设置状态横条

  • :terminal 可以开启终端

  • 这次主要就是window窗口,还挺方便

  • 尤其多文件操作

  • 这个还有什么可玩的吗?🤔

  • 下次再说 *

[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)


oeasy教您玩转vim - 63 - # window分屏的评论 (共 条)

分享到微博请遵守国家法律