当前位置: 首页 > news >正文

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
http://www.lryc.cn/news/509218.html

相关文章:

  • ubuntu paddle ocr 部署bug问题解决
  • OpenFeign快速入门 示例:黑马商城
  • 【C++】ceil 和 floor 函数的实现与分析
  • zabbix监控山石系列Hillstone配置模版(适用于zabbix6及以上)
  • 在瑞芯微RK3588平台上使用RKNN部署YOLOv8Pose模型的C++实战指南
  • CTFHub disable_functions通关
  • Chromium GN 目标指南 - view_example 计数器示例 (七)
  • 一步一步写线程之十六线程的安全退出之二例程
  • 【Linux系列】Shell 脚本中的条件判断:`[ ]`与`[[ ]]`的比较
  • ArcGIS+MIKE21 洪水淹没分析、溃坝分析,洪水淹没动态效果
  • Git 的基本概念和使用
  • *【每日一题 基础题】 [蓝桥杯 2024 省 B] 好数
  • 对中文汉字排序的方法总结
  • 【解决报错】AttributeError: ‘NoneType‘ object has no attribute ‘group‘
  • 数据结构经典算法总复习(上卷)
  • JS获取URL中参数值的4种方法
  • 【面经】2024年软件测试面试题,精选100 道(附答案)
  • LabVIEW水泵性能测试系统
  • React 第十九节 useLayoutEffect 用途使用技巧注意事项详解
  • 重温设计模式--2、设计模式七大原则
  • 【NLP高频面题 - Transformer篇】Transformer的位置编码是如何计算的?
  • 基于SSM(Spring + Spring MVC + MyBatis)框架构建一个图书馆仓储管理系统
  • web的五个Observer API
  • Java基础:抽象类与接口
  • llama.cpp:PC端测试 MobileVLM -- 电脑端部署图生文大模型
  • Web前端基础知识(一)
  • 基于谱聚类的多模态多目标浣熊优化算法(MMOCOA-SC)求解ZDT1-ZDT4,ZDT6和工程应用--盘式制动器优化,MATLAB代码
  • 国标GB28181摄像机接入EasyGBS如何通过流媒体技术提升安防监控效率?
  • [Unity] ShaderGraph动态修改Keyword Enum,实现不同效果一键切换
  • Unity开发哪里下载安卓Android-NDK-r21d,外加Android Studio打包实验