第四章 linux编辑器——vim的使用

news2024/9/21 13:36:37

第四章 linux编辑器——vim的使用

  • 一、什么是vim?
  • 二、vim的基本操作
    • 1、模式之间的相互切换
    • 2、vim的常见命令集
      • (1)正常模式的常见命令
        • a. 模式切换
        • b. 光标移动
        • c.删除文字
        • d.复制
        • e.替换
        • f.撤销
        • g.更改
      • (2)底行模式的常见命令
        • a.显示行号
        • b.跳到文件的某一行
        • c.查找字符
        • d.文件的保存与推出

一、什么是vim?

v i m vim vim是一个多模式代码编辑器。vim常用的模式有三类:命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode)。这三种模式的主要功能如下:

  • 命令模式:该模式又叫做正常模式、普通模式等。其主要的作用是控制屏幕光标的移动,控制代码的删除、移动、复制等。
  • 插入模式:该模式下进行的是代码的编写工作。按住[Esc]则可从插入模式进入命令模式。
  • 底行模式:该模式下,我们可以进行文件的保存和退出,同时还可以进行文字的替换、字符片段的查找、行号的显示等等。

二、vim的基本操作

1、模式之间的相互切换

上述常见的三种模式之间的切换可以总结为下图。
在这里插入图片描述

2、vim的常见命令集

(1)正常模式的常见命令

a. 模式切换

  • [i]:进入插入模式,并且是从光标当前位置进行插入。
  • [a]:进入插入模式,并且是从光标所在位置的下一个位置插入。
  • [o]:进入插入模式,插入新的一行,从行首开始输入。
  • [shift]+[;]:进入底行模式。

b. 光标移动

  • [h]、[j]、[k]、[l]:分别控制光标左、下、上、右移动一个单位。
  • [G]:移动到文章末尾。
  • [gg]:移动到文章的开头。
  • [w]:光标跳转到下个字符的开头。
  • [e]:光标跳转到当前字符的末尾。
  • [b]:光标回到上个字符的开头。
  • [shift]+[4]:移动到当前行的末尾。
  • [shift]+[6]:移动到当前行的行首。
  • [ctrl]+[b]:屏幕往后移动一页。
  • [ctrl]+[f]:屏幕往前移动一页。
  • [ctrl]+[u]:屏幕往后有移动半页。
  • [ctrl]+[d]:屏幕往前移动半页。
  • [ctrl]+[g]:列出光标所在行的行号。
  • [#G]:移动光标到第#行的行首。

c.删除文字

  • [x]:每按一次,删除光标所在位置的一个字符。
  • [#x]:删除光标所在位置后面(包含当前位置)的#个字符,例如[2x],删除当前位置开始后面的2个字符。
  • [X]:大写的X,删除光标所在位置的前面的一个字符。
  • [#X]:删除光标所在位置的前面的#个字符(不包含当前位置)。
  • [dd]:删除光标所在的行。
  • [#dd]:从光标所在的行开始,删除#行。例如:[2dd],删除当前行在内的2行。

d.复制

  • [yw]:将光标所在之处到字尾的字符复制到缓冲区中。
  • [#yw]:复制#个字符到缓冲区。
  • [yy]:将光标所在的行复制到缓冲区。
  • [#yy]:从光标所在行开始,复制#行到缓冲区。

e.替换

  • [r]:替换光标所在处的字符。
  • [R]:替换光标所到之处的字符,一直到按下[Esc]键为止。

f.撤销

  • [u]:撤销上一步操作,多次按[u]可以实现多次撤销。
  • [ctrl]+[r]:恢复上一次被撤销的操作。

g.更改

  • [cw]:更改光标所在处的字到字尾。
  • [c#w]:更改#个字。

(2)底行模式的常见命令

a.显示行号

在底行模式下输入set nu即可。

b.跳到文件的某一行

在底行模式下直接输入一个数字#,按下回车后,即可跳转到文件的第#行。

c.查找字符

  • [/关键字]:先输入一个’/',再输入想要查找的内容的关键字,如果第一次查找的关键字不是我们想要的,我们可以按下[n],直到找到我们想要的。(从上向下查找)
  • [?关键字]:先输入一个’?',再输入想要查找的内容的关键字,如果第一次查找的关键字不是我们想要的,我们可以按下[n],直到找到我们想要的。(从下向上查找)

d.文件的保存与推出

  • [w]:保存文件。
  • [q]:退出文件。
  • [wq]:保存并退出文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

复习之linux的网络配置

一、基本定义 1.IP IP指网际互连协议,Internet Protocol的缩写,是TCP/IP体系中的网络层协议。 电脑之间要实现网络通信,就必须要有一个合法的ip地址。 IP地址网络地址主机地址(又称:主机号和网络号组成&#xff09…

【MySQL】MyISAM中的索引方案

介绍 B树索引使用存储引擎如表所示: 索引/存储引擎MyISAMInnoDBMemoryB树索引支持支持支持 多个存储引擎支持同一种类型的索引,但是他们的实现原理是不同的。 InnoDB和MyISAM默认的索引是B树索引,而Memory默认的索引是Hash索引。 MyISAM…

【软件测试】在Windows使用Docker搭建CentOS环境(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 我们做软件测试在…

租服务器跑代码、pycharm连接服务器跑代码、Xshell连接服务器运行代码

一、服务器 1.1 注册 推荐使用矩池云服务器,按时按量计费,服务器自带镜像可选,可将要运行的项目上传到网盘 注册网址:矩池云 1.2 租用 选择合适的租用 1.3 选择镜像 选择合适的系统镜像 1.4 复制命令 进入租用列表&#xff…

【每日挠头算法题(9)】二叉树的直径|二叉树的层序遍历

文章目录 一、二叉树的直径思路:二叉树的深度优先搜索具体代码如下: 二、二叉树的层序遍历思路:借助队列实现具体代码如下: 总结: 一、二叉树的直径 点我直达~ 思路:二叉树的深度优先搜索 根据题目要求&a…

【计网】第三章 数据链路层

文章目录 数据链路层一、使用点对点信道的数据链路层1.1 数据链路和帧1.2 三个基本问题封装成帧透明传输差错控制 二、点对点协议 PPP2.1 PPP 协议的特点2.2 PPP 协议的帧格式2.3 PPP 协议的工作状态 三、使用广播信道的数据链路层3.1 局域网的数据链路层3.2 CSMA/CD 协议3.3 使…

安规测试简介(二)-常见安规认证测试之CE认证

CE认证: CE是法语的缩写,英文意思为 “European Conformity” 即”欧洲共同体”, 事实上,CE还是欧共体许多国家语种中的"欧共体"这一词组的缩写,原来用英语词组EUROPEAN COMMUNITY 缩写为EC,后因欧共体在法文…

python---字典(1)

字典的创建 字典: 是一种存储键值对的 键值对: 键(key) 值(value) 根据key可以快速的找到value (key和value有一定的映射关系) 在python字典中可以包含很多键值对,但是键是唯一的. 创建一个空的字典 创建字典的同时,设置初始值 推荐写法是如下的字典的初始化: 字典查找ke…

unittest教程__assert断言(4)

测试用例是否测试通过是通过将预期结果与实际结果做比较来判定的,那代码中怎么来判定用例是否通过呢?在python中这种判定的方法就叫做断言,断言可以使用python的assert方法,也可以使用unittest框架提供的一系列断言方法。 unitte…

强化历程2-Vue+axios+ajax面试系列(2023.6.17)

因为主要是后端,在此训练都是非常基础的题目,后续会持续更新… 文章目录 强化历程2-Vueaxiosajax面试系列(2023.6.18第一次更新)题目汇总1 Vue常用指令2 v-show和v-if区别3 讲一讲MVVM4 vue特点?5 vue组件之间的传值6 vue整合其他框架7 vue生命周期8 vue中实现路由…

通过共享内存进行通信(嵌入式学习)

通过共享内存进行通信 概念特点函数示例代码 概念 在Linux中,共享内存是一种进程间通信(IPC)机制,允许多个进程共享同一块内存区域。这种通信方式可以提供高效的数据传输,特别适用于需要频繁交换数据的场景。 IO间进…

【运动控制】安装固高运动控制卡驱动程序

【运动控制】安装固高运动控制卡驱动程序 1、背景2、卸载PCI设备3、安装驱动4、安装验证 1、背景 运动控制卡是用来做什么的?顾名思义,用来控制电机转动的。 本博客简单介绍固高科技(深圳)有限公司的运动控制卡的驱动安装。 在购买了固高控制卡后&…

网络层(3)6/12

1.网络层 网络层最大的特点就是提供路由,路由就是分组从源到目的地址时,绝定的端到端的路径 路由:路由是网络层最主要的工作任务 网关:一个网络域到另一个网络域的关卡,主要用于不同网段之间的通讯 路由的获取方式&…

OpenGL之鼠标拾取和模型控制

文章目录 鼠标拾取转化步骤步骤 0:2D 视口坐标步骤 1:3D 规范化设备坐标步骤2:4d 均匀剪辑坐标步骤3:4D 眼(相机)坐标步骤4:4d 世界坐标 源码 模型控制源码 鼠标拾取 转化步骤 使用鼠标单击或“…

PMP考试成绩查询流程

具体查询方法如下 当你在PMI的注册邮箱收到一封PMI发来的,标题为: 祝贺您获得PMP认证的邮件时,表明你通过了PMP考试。 若没收到邮件,可通过以下方式进行成绩查询: 1、打开PMI官网:www.pmi.org&#xff0…

给初级测试工程师的一些避坑建议

我遇到的大多数开发人员都不怎么热衷于测试。有些会去做测试,但大多数都不测试,不愿意测试,或者勉而为之。我喜欢测试,并且比起编写新的代码,愉快地花更多的时间在测试中。我认为,正是因为专注于测试&#…

【文生图系列】基础篇-变分推理(数学推导)

文章目录 KL散度前向 vs 反向 KL前向KL反向KL可视化 问题描述变分推理ELBO: Evidence Lower Bound参考 此篇博文主要介绍什么是变分推理(Variational Inference , VI),以及它的数学推导公式。变分推理,是机器学习中一种流行的方式,使用优化的…

LLMs模型速览(GPTs、LaMDA、GLM/ChatGLM、PaLM/Flan-PaLM、BLOOM、LLaMA、Alpaca)

文章目录 一、 GPT系列1.1 GPTs(OpenAI,2018——2020)1.2 InstructGPT(2022-3)1.2.1 算法1.2.2 损失函数 1.3 ChatGPT(2022.11.30)1.4 ChatGPT plugin1.5 GPT-4(2023.3.14&#xff0…

【kubernetes】集群架构介绍与基础环境准备

前言:二进制部署kubernetes集群在企业应用中扮演着非常重要的角色。无论是集群升级,还是证书设置有效期都非常方便,也是从事云原生相关工作从入门到精通不得不迈过的坎。通过本系列文章,你将从虚拟机准备开始,到使用二进制方式从零到一搭建起安全稳定的高可用kubernetes集…

Something of Information Security Management

1、信息安全管理基本概念,管理的目标、对象的基本内容、必要性。 信息安全管理是指通过制定和实施一系列的管理措施,保护信息系统中的信息资源免受各种威胁和风险的侵害,确保信息系统的安全、可靠、高效运行。信息安全管理的基本概念包括&…