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
相关推荐
会开花的二叉树25 分钟前
彻底搞懂 Linux 基础 IO:从文件操作到缓冲区,打通底层逻辑
linux·服务器·c++·后端
呼啦啦56144 分钟前
【Linux】权限
linux·权限
晨曦5432101 小时前
零基础12周精通Linux学习计划
linux
linux修理工1 小时前
n1 Armbian OS 24.11.0 noble 安装suricata
linux·运维·服务器
傅里叶1 小时前
sudo启动Flutter程序AMD初始化失败
linux·flutter
bug攻城狮1 小时前
CentOS 7 出现 “Could not resolve host“ 错误的修复方案
linux·运维·centos
feifeigo1232 小时前
CentOS系统管理:useradd命令的全面解析
linux·运维·centos
こ进制掌控者2 小时前
CentOS 8重启后网卡不见了解决办法
linux·运维·centos
Nightwish52 小时前
Linux随记(二十三 )
linux·运维
叶落阁主3 小时前
Neovim 插件 i18n.nvim 介绍
java·vue.js·vim