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
相关推荐
weixin_436525071 小时前
Linux 终端下的 My Sql 常用操作指南(替代 Navicat)
linux·运维·服务器
南棱笑笑生9 小时前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
Sleepy MargulisItG10 小时前
【Linux网络编程】应用层协议:HTTP协议
linux·服务器·网络·http
G311354227310 小时前
Linux 内核设计中的核心思想与架构原则
linux·架构·php
zhuzewennamoamtf11 小时前
Linux内核platform抽象、数据结构、内核匹配机制
linux·运维·数据结构
Kira Skyler12 小时前
ELF文件解析 elf.o 文件主要内容.md
linux
逐梦吧!旅行者12 小时前
Linux MySQL 5.7用户管理与用户密码的设置问题
linux·mysql
RisunJan12 小时前
Linux命令-grpck命令(验证和修复组配置文件(`/etc/group` 和 `/etc/gshadow`)完整性的工具)
linux·运维·服务器
loosed13 小时前
Ubuntu mysql8 tar.xz 安装
linux·ubuntu·adb
Xの哲學13 小时前
Linux VxLAN深度解析: 从数据平面到内核实现的全面剖析
linux·服务器·算法·架构·边缘计算