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

vi编辑器的三种模式及其对应模式下常用指令

vi是Linux系统的第一个全屏幕交互式编辑工具,在嵌入式的 学习中是一个不可或缺的强大的文本编辑工具。

一、三种模式

  • 命令模式

    • 如何进入命令模式:按esc键

    • 复制:yy nyy(n:行数)

    • 删除(剪切): dd ndd

    • 粘贴:p

    • 撤销:u

    • 反撤:ctrl r

    • 光标移动首行: gg

    • 光标移动末行: G

    • 光标移动行尾:$

    • 光标跳到第n行

      • shift ng
    • 搜索:/或者?(搜索下一个用n)

    • 调整代码格式:gg=G

  • 插入模式

    • 进入插入模式

      • 先按esc键,然后按以下任意键:a i o A I O
    • 新增 (append)

      • – a从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。
      • – A从光标所在列最后面的地方开始新增资料
    • 插入 (insert)

      • – i从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。
      • – I从光标列的第一个非空白字符前面开始插入资料
    • 打开 (open)

      • – o在光标所在列下新增一列并进入输入模式。
      • – O在光标所在列上方新增一列并进入输入模式。
  • 底行模式

    • 进入底行模式:先按esc进入命令模式,然后按空格或者冒号。

    • 指定第几行到第几行复制:5,10y

    • 指定第几行到第几行删除: 5,10d

    • 保存:w

    • 退出:q

    • 保存并退出:wq 或 x

    • 强制:!

    • 竖着分屏:vsp

    • 横着分屏:split

    • 取消分屏:on

    • 查找:/str

    • 取消高亮:noh

    • 替换

      • s/str1/str2 光标所在行第一个str1替换成str2
      • s/str1/str2/g 光标所在行所有str1替换成str2
      • %s/str1/str2/g每一行中所有str1来替换成str2
      • n,$s/str1/str2/g替换第n行到最后一行中所有str1为str2
    • 设置行号:set nu

    • 取消:set nonu

二、模式转换过程图

p9rSKkq.png

http://www.lryc.cn/news/67548.html

相关文章:

  • webpack: 5 报错,错误
  • MyBatis的缓存
  • c语言-位段
  • Servlet3.0 新特性全解
  • PAT A1045 Favorite Color Stripe
  • 真实业务场景使用-门面模式(外观)设计模式
  • 基于多动作深度强化学习的柔性车间调度研究(Matlab代码实现)
  • 出口亚马逊平衡车CE/UKCA认证注意事项
  • 云原生环境下的安全实践:保护应用程序和数据的关键策略
  • vue 改变数据后,数据变化页面不刷新
  • 【Qt编程之Widgets模块】-006:QSortFilterProxyModel代理的使用方法
  • 上林赋 汉 司马相如
  • 7.对象模型
  • 机器学习——基本概念
  • Qt---感觉挺重要的部分
  • springboot+vue家乡特色推荐系统(源码+文档)
  • 在Shell脚本中通过ssh从脚本运行函数
  • 简单学习一下 MyBatis 动态SQL使用及原理
  • WhatsApp如何让客户参与变得更简单?
  • 记一次 MySQL 主从同步异常的排查记录,百转千回
  • Cpython的多线程技术之痛
  • NDK OpenGL离屏渲染与工程代码整合
  • Python基础入门编程代码练习(二)
  • C# | 对象池
  • CSS小技巧之圆形虚线边框
  • QString与QByteArray互相转换的方法
  • Springboot +Flowable,设置流程变量的方式(一)
  • 机器学习13(正则化)
  • 并发编程学习(十一):原子数组、
  • 递归到动态规划:省去枚举行为