Linux之vim编辑器的使用

news/2025/2/11 8:11:42/

目录

一、vim是什么?

试验1: 

二.命令模式继承用法:

vim命令模式的快捷键:

光标移动:

vim文本复制相关操作:

vim文本编辑操作:

三.末行模式命令用法

部分快捷键:

四.vim编辑器的配置原理 

 


一、vim是什么?

        vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

今天我们来讲解vim的三种模式(其实有好多模式,目前掌握这3种即可):

分别是命令模式、插 入模式和底行模式,各模式的功能区分如下:

1.命令模式(Normal mode) :控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

2.插入模式(Insert mode) :只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁 的编辑模式。

3.末行模式(last line mode) :文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模 式。要查看你的所有模式:打开vim,底行模式直接输入

如下是vim使用的按键详解:

试验1: 

       注:如上图当前目录下为空,输入指令:vim test.c(文件名),操作系统会对该指令进行判断,若是test.c文件已存在,则使用vim编辑器打开;若是该文件不存在,会先创建出一个test.c的文件,然后将该文件放入编辑器打开。

指令输入完毕后,就会进入vim编辑器界面了:

进入vim后,该编辑器的默认模式就是命令模式,在此模式下,不能进行代码或数据的输入,通过此模式可进行与另外两种模式的切换(该模式的作用之一是做切换)。

之后,键盘点击 “i” 键便可从命令模式转换为插入模式。

插入模式:

上面红框中的INERT标记就代表了当前模式处于插入模式,可以随意的输入或者删除任何内容。

        如上图,输入完毕后需要再转换为命令模式,只需要按 “Esc” 键即可;此外插入模式并不能转换成末行模式 !

插入模式-->命令模式后,在命令模式下,按“shif+:(冒号)”组合键可以从命令模式切换为末行模式,如下图: 

在末行模式下,我们可将写过的代码进行保存,退出——输入wq即可。

使用编辑完成代码后,可用cat指令查看代码:

 

二.命令模式继承用法:

命令模式的意义:提高编辑代码的效率 

vim命令模式的快捷键:


shift + 4                        表示光标会定位在当前行的最右侧
shift + 6                        表示光标会定位在当前行的最左侧
shift + g                        表示光标会定位在整个文件的最后一行的首字符                                  gg                                 表示光标定位在整个文件的首行的首字符                                            w                                  光标向后按照单词移动                                                                         b                                  光标向前按照单词移动
n+shift +g(一起按)        表示光标会跳转到指定行,n表示的是行号

光标移动:


  h键:        左边                j键:                  下边                                                                              k键:        上边                I(不是i) 键:       右边            (这四个键和aswd功效相同 左下上右)
  ctrl+r:表示撤销操作取消                                                                                                          

vim文本复制相关操作:

yy                                表示复制当前行操作                nyy=1yy
p                                  表示在当前行黏贴操作            np=1p

nyy                              表示对光标当前行及其下面共n行进行复制操作                                    np                                表示在当前行及其下面共n行进行粘贴操作

u键:                           取消撤销操作

dd                                 表示删除光标所在行 ,默认 dd=1dd
ndd                               表示删除光标所在行开始及其下面共n行操作
ndd+p                           表示会在光标处及其以下共删除的n行后,再将删除的那n行给粘贴                                         上去——剪切操作

vim文本编辑操作:

1.shift+~                     按住shift,并一直去摁波浪键,就可以转换英文大小写了

2.shift + r键                使用后,就可以批量化替换光标处及其后面的内容 (replace)
3.按r键                       只能替换光标处的一个字符
4.按x键                       删除当前行所在光标处的后面一个字符一直按可以一直删,但仅限于                                       该行,不会删除下一行或者上一行内容


5.按X键                     删除当前行所在光标处的前面一个字符,一直按可以一直删,但仅限于                                    该行,不会删除下一行或者上一行内容


6.nx键                       删除当前行所在光标处的后面 n 个字符 但仅限于该行
7.nX键                      删除当前行所在光标处的前面 n 个字符 但仅限于该行 


三.末行模式命令用法

部分快捷键:

1.set nu: 给文件添加行号;

2.取消vim文件的行号: set nonu

3.分屏操作:vs [文件名称]

4.在多个屏幕下,光标跨屏快捷键:ctrl+w+w

无论你分多少屏幕,光标只有一个!!!;光标的意义: 当前选中的行(编辑位置)或者屏幕

5.强制快捷键:“ ! ” ,当在末行模式下想要退出vim时,使用wq不管用,在wq后面加上“ ! ”即可强制退出。


6.替换单词:%s/printf/cout/g        (将全文所有的printf替换为cout)

使用vs指令后的结果: 


四.vim编辑器的配置原理 

我们使用的vim编辑器是初始型的,用起来相当不方便,但我们可以给vim编辑器配置一个.vimrc的文件,在该文件中写入特定的配置语句即可改变vim编辑器的设置。

在该用户的目录下新建一个.vimrc文件: 

然后使用vim打开该文件,并从网上找一些vim的配置语句进行添加:

这是我自己配置的一些简单的vim设置,有兴趣的同学可以再自行多加内容。 

保存.vimrc文件后,随便打开一个代码文件,如下,即vim配置成功:


http://www.ppmy.cn/news/74533.html

相关文章

lab4:以time/gettimeofday系统调用为例分析ARM64 Linux 5.4.34

一、ARM64 Linux系统调用过程 (1)svc指令触发系统调用。 (2)保存现场(el0_sync处的内核汇编代码保存异常发生时程序的执行现场),然后根据异常发生的原因(ESR_EL1寄存器)…

LiangGaRy-学习笔记-Day14

1、进程相关的命令 1.1、lsof命令 作用:显示当前进程的状态,类似于windows的任务管理器 语法:lsof 选项 选项: -i:指定端口号;:8080-p:指定,指定端口;-…

自学网络安全,最应该先学的五大技能树是什么?(附学习路线图)

前言: 近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,全球网络安全岗位缺口达500万,中国约100万,产业人才需求逐年增加,网络安全行业的相关岗位成为炙手可热的职业。…

基因序列变异信息VCF (Variant Call Format)

<~生~信~交~流~与~合~作~请~关~注~公~众~号生信探索> VCF是Variant Call Format的简称&#xff0c;是一种定义的专门用于存储基因序列突变信息的文本格式。在生物信息分析中会大量用到VCF格式。例如基因组中的单碱基突变,SNP&#xff0c; 插入/缺失INDEL, 拷贝数变异CNV&…

微软推出 Hierarchical Transformer 实现更高准确率的语音评测

对于语言学习者来说&#xff0c;练习发音并获得及时准确的反馈&#xff0c;是提高口语水平的重要环节。多年来&#xff0c;微软一直深耕基于 Azure 认知服务的语音功能&#xff0c;不断优化语音评测[1]功能的底层技术&#xff0c;从准确率、流畅度、完整性和语音语调等方面&…

iperf3常用

iperf使用方法详解 iperf3是一款带宽测试工具&#xff0c;它支持调节各种参数&#xff0c;比如通信协议&#xff0c;数据包个数&#xff0c;发送持续时间&#xff0c;测试完会报告网络带宽&#xff0c;丢包率和其他参数。 安装 sudo apt-get install iperf3iPerf3常用的参数&am…

DVB-S中卫星通信系统的基带仿真(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 ​数字视频广播(DVB)在卫星通信数字多媒体业务领域应用广泛,其一般采用MPEG-2编码、数字传输和纠错处理等通用技术,然而,当第三方…

Linux 设备驱动程序(三)

系列文章目录 Linux 内核设计与实现 深入理解 Linux 内核&#xff08;一&#xff09; 深入理解 Linux 内核&#xff08;二&#xff09; Linux 设备驱动程序&#xff08;一&#xff09; Linux 设备驱动程序&#xff08;二&#xff09; Linux 设备驱动程序&#xff08;三&#xf…