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

一文学会linux vim操作

Linux Vim操作教程及常用命令

  • Vim操作教程
    • Vim的模式
      • Vim有三种主要模式:
      • 启动Vim
      • 文件操作
      • 插入文本或新建行
      • 移动光标
    • Vim常用命令
      • 查找命令
      • 复制、粘贴和撤销
      • 替换模式
      • 快捷键

Vim操作教程

Vim的模式

Vim有三种主要模式:

  • 正常模式(Normal Mode):在此模式下,可以使用快捷键命令,或者按冒号(:)进入命令行模式。
  • 插入模式(Insert Mode):可以输入文本。在正常模式下,按i、a、o等键可以进入插入模式。
  • 可视模式(Visual Mode)

按v进入可视模式,可以选择文本。
按V进入可视行模式,整行整行地选中。
按Ctrl+v进入可视块模式。

启动Vim

vim -c cmd file:在打开文件前,先执行指定的命令。
vim -r file:恢复上次异常退出的文件。
vim -R file:以只读的方式打开文件,但可以强制保存。
vim -M file:以只读的方式打开文件,不可以强制保存。
vim +num file:从第num行开始编辑文件。

文件操作

:e file:关闭当前编辑的文件,并开启新的文件。
:w:保存修改。
:wq 或 ZZ:保存并退出。
:q!:不保存并强制退出。

插入文本或新建行

i:在当前光标位置的左边添加文本。
a:在当前光标位置的右边添加文本。
o:在当前行的下面新建一行。

移动光标

在命令模式下:h向左、j向下、k向上、l向右。
空格键向右、Backspace向左、Enter移动到下一行首、-(减号)移动到上一行首。
删除、恢复字符或行
x:删除当前字符。
dd:删除当前行。
u:撤销上一步操作。
U:撤销对当前行的所有操作。

Vim常用命令

查找命令

/text:查找text关键字,按n找下一个,N找前一个。
?text:反向查找text,按N找下一个,n找前一个。
:set number:显示行号。
:set ignorecase:忽略大小写查找。
:set noignorecase:不忽略大小写查找。
:sethlsearch:高亮查找结果。

复制、粘贴和撤销

yy:复制当前行。
p:粘贴已复制的文本。
u:撤销上一步操作。

替换模式

R:进入替换模式,可以替换光标后的文本。

快捷键

Ctrl+p 或 Ctrl+n:在自动补全时选择上一个或下一个选项。

相关文章:

  • Reddit、Discord等社媒网站抓取总结:如何更高效实现网页抓取?
  • PyQT5 键盘模拟/鼠标连点器的实现
  • 设计模式(七)创建者模式之建造者模式
  • 树莓派4B学习笔记11:PC端网线SSH连接树莓派_网线连接请求超时问题解决
  • 如何在Java中使用正则表达式进行文本处理
  • 【elementui源码解析】如何实现自动渲染md文档-第四篇
  • 监督学习:从数据中学习预测模型的艺术与科学
  • 《C语言程序设计》考试大纲-硕士研究生入学考试
  • 计网重点面试题-TCP三次握手四次挥手
  • 数据分析-相关性
  • CentOS 7 安装部署Cassandra4.1.5
  • Python基础教程(三十):math模块
  • Windows环境部署MySQL_8.4.0 LTS的部署安装、验证连接以及卸载全过程实操手册
  • 链表中环的入口节点
  • JAVA大型医院绩效考核系统源码:​医院绩效考核实施的难点痛点
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • crontab执行失败的多种原因
  • express如何解决request entity too large问题
  • JavaScript HTML DOM
  • ucore操作系统实验笔记 - 重新理解中断
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 利用DataURL技术在网页上显示图片
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 正则学习笔记
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • # centos7下FFmpeg环境部署记录
  • #预处理和函数的对比以及条件编译
  • (10)ATF MMU转换表
  • (19)夹钳(用于送货)
  • (7) cmake 编译C++程序(二)
  • (7)STL算法之交换赋值
  • (SpringBoot)第七章:SpringBoot日志文件
  • (定时器/计数器)中断系统(详解与使用)
  • (二)WCF的Binding模型
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)fock函数详解
  • (转)视频码率,帧率和分辨率的联系与区别
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET WPF 抖动动画
  • .net后端程序发布到nignx上,通过nginx访问
  • [ Socket学习 ] 第一章:网络基础知识
  • [AIGC] SpringBoot的自动配置解析
  • [AIGC] 开源流程引擎哪个好,如何选型?
  • [AI资讯·0612] AI测试高考物理题,最高准确率100%,OpenAI与苹果合作,将ChatGPT融入系统中,大模型在物理领域应用潜力显现
  • [C#]C# OpenVINO部署yolov8图像分类模型
  • [ffmpeg] aac 音频编码
  • [gdc19]《战神4》中的全局光照技术