vim编辑器的使用【vim常用指令介绍】

news2024/9/28 11:19:36

1.1 vim 简介

        vim 编辑器最初是 vi 编辑器,vi 编辑器是 Unix 系统最初的编辑器。允许查看文件内容和在文件中移动、插入、编辑和替换文本。后来开发人员对它做了一些改进。并重命名为 vim。

1.2 学习 vim 的理由

        因为几乎任何一个发行版都有 vi/vim 编辑器,在嵌入式 linux 上,通常也会集成 vim 编辑器,所以说 vim 编辑器大部分的版本都是支持的,所以就要学习 vim。 

1.3 vi 和 vim 的关系

        vim 是 vi 的加强版,vi 的命令基本全部可以在 vim 上使用,而且比 vi 使用起来更加容易。因为这两个是一样的,所以在后面的学习中,不对 vim 和 vi加以区分。

1.4 打开 vim 编辑器

打开控制台,输入以下命令:

vi test.txt

        这里的文件名为 test.txt,这样就打开了文本编辑器。如果打开的文件不存在,它会新建一个文件,而文件存在,会直接打开,例如我们想要打开位于桌面的test.txt文件,该文件中的内容如下图所示。

 我们在终端中输入 vim test.txt 即可打开,如下两张图所示。


 

1.5 vim编辑器的三种模式

vim三种模式分别为:一般模式、插入模式、命令行模式。三种模式之间的关系如下图所示。

 1.6 vim编辑器移动光标

      在 vim 编辑器中,由于没有图形界面,所以不能通过鼠标来移动光标,光标的移动是通 过上下左右按键来实现的,如果使用的键盘是没有上下左右按键的小键盘,可以使用键盘上的 H J K L 按键来完成光标的移动。每个按键对应的功能如下图所示:

1.7 vim编辑器支持快速定位 

      在一般模式下双击键盘上的 g ,对应的功能为定位光标到第一行。 在一般模式下点击键盘上的 G ,对应的功能为定位光标到最后一行。 如果想要定位到具体的行数,可以在一般模式使用 ngg ,以移动光标到第 3 行为例子, 则输入 3gg 或者 3G。
             nG                                                           将光标定位到第n行 

1.8 vim编辑器的文本的复制和粘贴

      下面讲解 linux 中文本的复制和粘贴操作。 首先是单行内容的复制,在一般模式下,将光标移动到要复制内容的行首,然后按字母 y/Y 进行复制,接着把光标移动到要粘贴的地方,点击字母 p 来进行粘贴 。
      如果要复制多行内容,先将光标移动到要复制内容的行首,然后按字母 v ,左下角会出现 VISUAL ,然后使用键盘的上下左右按键选择要复制的文本,选择完成之后,按字母 Y/y 进行文本的复制。

1.9 vim编辑器使用快捷键来复制

      也可以双击字母 y 来进行内容的复制,然后将光标移动到要复制的地方输入字母 p 来进行单行的复制,如下图所示:

      而如果想复制多行,也可以使用 nyy 命令来完成,该命令是复制当前行及以下行的 n 行,比如要复制 4 到 6 行,3 行的内容,输入命令 3yy ,然后把光标移动到第 n 行,输入字母 p,这样就把内容粘贴在第 n+1 行的位置上了,如下图所示。 

 

注:在 windows 上使用的复制粘贴命令分为“ctrl+c”“ctrl+v”,而在 ubuntu 中除了上面 两个小节所讲述的方法,在 ubuntu 中使用鼠标进行内容的框选,然后使用复制命令 “ctrl+shift+c”,最后输入“ctrl+shift+v”快捷键也可以进行粘贴。

1.10 vim编辑器的删除 

      dd 命令是删除光标所在行内容,以删除第八行为例,在一般模式下,将光标移动到第八 行,然后双击 d ,那么第8行就被删掉了。
      同样可以使用 ndd 命令来删除多行,比如删除第 9 到 11 行内容,可以直接将光标移动到第九行,输入命令 3dd,则这 3 行内容就被删掉了。

      也可以删除指定范围行的内容,命令格式为 n1,n2d ,该命令需要在命令行模式下输入。 以删除第 1 行到第 6 行的内容为例,首先点击“冒号”进入命令行模式,然后输入 1,6d,然 后输入回车,这样 1-6 行就全被删掉了。

1.11 vim编辑器的撤销 

      在一般模式下,输入字母 u 来撤销之前的内容,进行内容的回退。 反撤销是 ctrl+r 。撤销和反撤销都是一般模式下进行的。

1.12 vim编辑器的查找 

      在 ubuntu 的 vim 编辑器中,查找命令是通过 / 或者 ?来实现的。以查找“da”内容为例,现首先进到了命令行模式,点击字符“/”并输入 da 。输入完成之后敲击回车,就会找到“da” 了。查找完成之后点击字母“n”,会向下查找内容,而“/”和“?”查找的区别在于,“/”为向下进行查找内容,而“?”向上进行内容的查找。

1.13 vim编辑器的替换 

      替换命令的格式为 %s /old/new/g 。
      以 “nihao” 替换成 “zaima” 内容为例子 , 首先进入到命令行模式 ,输 入 %s /nihao/zaima/g,然后点击回车进行内容的确定。

1.14 vim 编辑器的保存

q ! :强行退出
wq :保存退出
w : 保存但不退出
q :退出没有编辑过的文本【如果想直接退出,即只是浏览了文件中的内容,但并没有对文件进行编辑】
直接输入冒号进到命令行模式,如果想要保存退出,直接输入 wq ,然后回车,这样就保存退出了。 

1.15 vim编辑器文件的对比

      vimdiff file1 file2 file3
vim 编辑器可以进行文件的对比,使用的命令为 vimdiff。

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

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

相关文章

从手动到自动:WMS系统带来的仓储革命

仓库管理系统(WMS,Warehouse Management System)在仓储业的发展中扮演了至关重要的角色。它的演变从手动管理到自动化管理,不仅大提升了仓储效率,还改变了企业的运营模式。 一、手动管理阶段 在WMS系统普及之前&#…

nginx负载均衡及软件平滑升级!!!

一、负载均衡 早期的网站流量和业务功能都比较简单,单台服务器足以满足基本的需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也跟着越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服…

【Visual Studio Code】源代码管理 传入/传出 更改配置开关

July 2024 (version 1.92)版本更新的Visual Studio Code 增加了 【源代码管理 - 传入/传出】的可视化视图。 但是目前发现也会导致加载变慢 占用页面的影响,如果希望关闭该视图, 可以在设置里搜索 scm.showHistoryGraph 关闭即可

计网:从输入URL到网页显示期间发生了什么

1、URL包含的信息 我们输入的url中包含着一些信息: http:表示的此次我们使用的什么协议/www.baidu.com:表示的是我们想要访问的服务器名称,也就是域名dir3/home.html:表示我们所要访问的资源 2、通过DNS解析URL获得I…

JAVA中的JMM(Java 内存模型)详解

1.JMM概念 Java 内存模型(Java Memory Model 简称JMM)是一种抽象的概念,并不真实存在,指一组规则或规范,通过这组规范定义了程序中各个变量的访问方式。 因为在不同的硬件生产商和不同的操作系统下,内存的访…

嵌入式安全:Provencore Secure os

嵌入式安全有何独特之处? 嵌入式安全领域的领导者 ProvenRun 宣布,其旗舰产品 ProvenCore for ARM™ Cortex-A 最近获得了 通用标准 (CC) EAL7 认证。这是全球首创,因为没有其他操作系统或可信执行环境 (TEE) 达到该安全级别。相比之下,移动安全市场上第二安全的 TEE(对于…

版本控制案例:全球虚拟制片领导者Dimension借助Perforce Helix Core管理大型二进制文件,实现跨地域团队协作,简化制作流程(上)

创建虚拟世界和人类角色需要一系列的软件工具。但最终愿景很少是由单一工作室独立完成的。对于大型项目,工作室需要通力合作,将全球的团队成员和数字资产联合起来。 Dimension Studio——体积内容捕捉和虚拟制片领域的领导者——不断将新技术和新方法融…

传统产品经理 vs AI产品经理

随着科技的日新月异和技术的不断革新,AI技术如今已深度融入各行各业,使得身处此领域的产品经理们迎来了前所未有的新挑战与广阔机遇。以下是我精心整理的内容,旨在分享传统产品经理如何顺应时代洪流,成功转型为AI产品经理的策略与…

Java面试之操作系统

1、冯诺依曼模型 运算器、控制器、存储器、输入设备、输出设备 32位和64位CPU最主要区别是一次性能计算多少字节数据,如果计算的数额不超过 32 位数字的情况下,32 位和 64 位 CPU 之间没什么区别的,只有当计算超过 32 位数字的情况下&#…

中国篆刻孙溟㠭凿木《应无所住而生其心》

应无所住而生其心 弘一法师言:学佛不是让你出家,也不是让你变得与众不同。学佛就是一个正常生活的人,一个善良的人懂得用佛法降服自心,消除烦恼所有有皆是虚妄,若见诸相非相,即见真我。 孙溟㠭凿木《应无…

Vue3发送验证码,开启倒计时,并且倒计时结束前无法点击

目录 1.最终效果 2.HTML 3.JS 1.最终效果 先看效果,点击发送验证码,然后开启倒计时,倒计时结束前无法再次发送,并且该按钮处于无法选中状态 废话少说,上干货,直接看代码 2.HTML 按钮部分内容&#xf…

揭秘eBay店铺排名提升秘诀:测评自养号的好处

在竞争激烈的电商市场,eBay作为全球知名的在线拍卖及购物网站,为卖家提供了广阔的舞台。如何在众多商品中脱颖而出,提升产品排名,成为每位eBay卖家关注的焦点。 eBay卖家如何提升排名? 1、关键词优化:关键…

适合制造业的项目管理软件都有哪些?

项目管理软件涉及进度、预算成本、资源、开发、流程、质量、风险、工时、知识文档、商务等各个方面,是企业项目管理领域的重要辅助工具,能够帮助组织提高项目管理水平与质量,确保项目顺利进行。 一、 奥博思 PowerProject 项目管理系统 Pow…

汇川Autoshop编程软件连接PLC并下载程序的具体步骤示例

汇川Autoshop编程软件连接PLC并下载程序的具体步骤示例 如下图所示,打开AutoShop编程软件后,新建项目,点击工具—通讯设置, 如下图所示,在弹出的窗口中选择通讯类型(这里选择以太网),设置好IP地址,然后点击搜索,正常情况下可以搜到PLC, 如下图所示,如果搜索不到PLC…

我在高职教STM32——I2C通信入门(1)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正是如此,才有了借助CSDN平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思设计的教学课件分…

基于PREEvision的架构方案评估

Introduction 随着汽车行业的快速发展和消费者需求的日益复杂化,现代汽车已不再仅仅是机械设备的集合体,更是高度复杂的电子和电气系统的结合体。在这样的背景下,如何有效地设计和优化汽车电气架构,成为制造商和供应商面临的关键…

CSS实现元素hover时背景色拉伸渐变

HTML代码 <ul><li><p><a href"#">Facebook搜索</a></p></li><li><p><a href"#">Instagram搜索</a></p></li><li><p><a href"#">Google搜索&…

【Qt】如何搭建Qt开发环境

Qt的开发工具 需要搭建Qt开发环境&#xff0c;需要安装3个部分&#xff1a; C编译器&#xff08;gcc、cl.exe...&#xff09;注意&#xff0c;这里的C编译器不是指visual studio这种集成开发环境&#xff0c;编译器不等于IDE&#xff0c;编译器只是IDE调用的一个程序。Qt SDK…

办公知识分享:如何自己制作一个图文二维码呢?

和一般的网址二维码、文件二维码等不同&#xff0c;H5编辑二维码支持在一个H5页面同时展示&#xff1a;图片内容、文字内容、并支持插入超链接、视频、音频等文件…。 其用途非常广泛&#xff0c;在教育、企业办公、产品包装设计、展会、艺术展览等都在使用H5编辑二维码来传播…

代码随想录算法训练营第24天 | 题目:93.复原IP地址 、78.子集 、 90.子集II

代码随想录算法训练营第24天 | 题目&#xff1a;93.复原IP地址 、78.子集 、 90.子集II 文章来源&#xff1a;代码随想录 题目名称&#xff1a;93.复原IP地址 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09…