vim多窗格

  • vim打开文件分为三个阶段:buffer、window与tab
    • buffer就是在同一个界面打开的文件
    • window就是使用水平分割与垂直分割的窗口
    • tab则是可以是上述两者的总集合
  • buffer
    • :e filename在已打开文件的界面中再打开一个新文件,显示这个新文件,原文件被隐藏
    • :ls显示全部打开文件的名字
    • bn b{number} bprev bfirst blast bnext在打开的多个文件中切换
    • bd清除当前缓冲区内,即关闭当前打开的文件
  • window
    • 初始进入
      • vim -o filename1 filename2水平分割显示文件
      • vim -O filename1 filename2垂直分割显示文件
    • 打开分割窗口
      • :vs:spctrl + w + sctrl + w + v将当前buffer内文件垂直或水平再开新窗口
    • 关闭分割窗口:
      • ctrl + w + cctrl + w + q(若只有一个窗口关闭窗口且退出vim)
      • :only仅保留当前分屏
      • :hide关闭当前分屏
    • 分割后窗口切换:
      • ctrl + w + wctrl + w + hctrl + w + jctrl + w + kctrl + w + l
    • 分割窗口后移动
      • ctrl + w + R移动两个窗口内容
      • ctrl + w + Hctrl + w + Jctrl + w + Kctrl + w + L,最后字母是大写,只移动窗口
    • 调整窗口大小
      • ctrl + w + =所有窗口等宽、等高
      • 窗口高度
        • ctrl + w + -减少高度
        • ctrl + w + +增加高度
          • {N} ctrl + w + +ctrl + w + {N} +增加N行高度
        • ctrl + w + _最大化当前窗口高度
          • [N] ctrl + w + _设置当前窗口高度为N
        • :res[ize] {N}设置当前高度
      • 窗口宽度
        • ctrl + w + <减少宽度
        • ctrl + w + >增加宽度
        • ctrl + w + |最大化当前窗口宽度
          • [N] ctrl + w + |设置当前窗口宽度为N
        • :vertical res {N}设置窗口宽度为N
  • tab
    • 新建tab:tabnew创建新的tab标签
      • :tabe(tabedit) filename在新标签页上打开文件
      • :tab split在新的标签页中打开当前buffer中的文件(光标所在的文件)
        • 也可以使用ctrl + w + T:与上面相比,可以将原tab页面上该文件关闭
      • :tab ball在buffer中打开多个文件的情况下,可以为每一个文件新建一个tab页
    • 其它
      • vim默认可以打开10个标签页,使用set tabpagemax=15来修改这个值
      • :tabs显示已打开标签页的列表
      • :tabclose(tabc)关闭标签页;:tabonly(tabo)关闭除当前标签页的其它tab页
    • 切换标签页
      • 切换到下一个标签页::tabngtctrl + PageDown
      • 切换到上一个标签页::tabpgTctrl + PageUp
      • :tabfirst:tabr移动到第一个标签页;:tablast移动到最后一个标签页
    • 移动标签页
      • :tabm number移动标签页到指定位置,如果不加number而移动到最后
    • 标签页头的显示控制
      • 一般情况下,只有在标签页多于1个时,才会显示标签页头,设置方法::set showtabline=1
      • 在任何时候都显示标签栏::set showtabline=2
      • 从不显示标签栏::set showtabline=0
相关推荐
百***06013 分钟前
Linux下PostgreSQL-12.0安装部署详细步骤
linux·运维·postgresql
c++逐梦人5 分钟前
Linux下编写进度条小程序
linux·运维·小程序
求知若渴,虚心若愚。22 分钟前
traefik 启用并指定根证书*.cer
linux·运维·服务器
rainbow_lucky01061 小时前
Word-like编辑器
qt·编辑器·word-like
Claudedy1 小时前
Linux 网络代理指南:解决下载慢、访问受限的开发痛点
linux·运维·网络·代理·proxy代理
zhaqonianzhu1 小时前
【保姆级】无外网 Linux 服务器用 VSCode 通义灵码:SSH 代理配置全流程
linux·服务器·vscode
Murphy_lx1 小时前
C++ 条件变量
linux·开发语言·c++
LCG元2 小时前
Linux 信号(Signals)机制详解:如何优雅地关闭你的进程?
linux
神码编程2 小时前
【Unity】 HTFramework框架(六十八)StringEditor字符串复杂编辑器
unity·编辑器·游戏引擎·htframework
梁正雄3 小时前
linux服务-Nginx+Tomcat+Redis之Session 共享
linux·nginx·tomcat