文章目录
前言
之前我们在windows使用Visual Studio,该软件集成了编写代码、编译、调试和运行的功能,这种将多个功能集于一体的软件称作IDE,但是在 Linux系统中,编写代码、编译代码、调试和构建工具这几个是独立分开的,今天我们介绍一个用来写代码的编辑器vim。
vim多模式
vim常见的模式有三种,分别为命令模式、插入模式和底行模式。这三种模式都是通过特定的命令来提高编辑的效率。三种模式的关系如下:

命令模式
进入vim编辑器,默认的模式就为命令模式,命令模式也是vim多模式中最核心的模式。若vim编辑器处在插入模式或者底行模式,可输入按键"Esc"进入命令模式。
光标定位
shift + g\] :进入文本的末尾 \[gg\] : 回到文本开始 \[数字 + shift + g\]:定位到指定行数 \[shift + 4\]:定位到当前行行尾 \[shift + 6\]:定位到当前行开始 h j k l:分别对应光标的左下上右移动 w:以"单词"为单位向右移动,若想要更快速移动,可以使用 \[移动步数 + w
b: 以"单词"为单位向左移动,若想要更快速移动,可以使用 [移动步数 + b]
编辑
yy:复制,若要复制多行,可使用 [复制行数 + yy]
p:粘贴到下一行,若要粘贴多行,可使用 [粘贴次数 + p]
u:撤销操作
ctrl + r :将撤销动作u进行撤销,只要没退出vim,随时可撤销
dd:剪切当前行,若要剪切多行,可使用 [剪切行数 + dd],若要再粘贴,使用粘贴指令即可
shift + ~:大小写快速转换
r + 字符:将光标所在位置替换为对应的字符,若想替换多个,则使用 [替换数量 + r + 字符]即可
shift + r:进入替换模式,进行批量化的替换,返回命令模式,使用"Esc"即可
x:删除光标所在字符,从左向右删,连续删除使用 [删除字符个数 + x] 即可
shift + x:删除光标所在的字符,从右向左删,连续删除使用 [删除字符个数 + shift + x] 即可
ctrl + v:进入视图模式
批量化注释与批量化去注释
先输入ctrl + v进入视图模式,再通过h j k l几个方向键选择对应的区域,再输入shift + i进入插入模式,输入//后按下Esc按键,批量化注释结束。
若想要取消注释,先输入ctrl + v进入视图模式,再通过h j k l几个方向键选择对应的区域,方向键选择完成后按下d案件即可。
插入模式
命令模式输入"i"即可进入插入模式。也可使用"a"和"o"由命令模式进入插入模式,此时"a"会使光标向右移动,"o"则会新起一行。还有其他转换方式,但这几个方法在日常开发中已经够用了。
底行模式
若想要退出vim编辑器,要再底行模式下进行操作。命令模式进入底行模式,可输入按键"shift + :",即输入":"即可进入底行模式。
退出保存
w:保存,强制保存可以使用w!
q:退出,强制退出可以使用q!
wq:保存退出 ,强制保存退出可使用wq!
若在使用vim编辑器编写某个文件时,没有保存但是突然退出终端,再次打开文件时会出现以下信息:

其实这是因为vim在关闭时保存了临时文件,选择R即可恢复,但是即便这样保存退出,再次用vim打开该文件仍会提示上图信息,这是因为vim闪退时,会在当前目录下形成一个临时文件,该临时文件是个隐藏文件,如下所示:

删除该文件后,再次用vim打开相同的文件,则不会出现提示信息。
显示行号
若要显示行号,在底行模式下输入"set nu"即可,如下所示:

若想去掉行号,输入"set nonu"即可。
匹配关键字搜索
若要搜索字符串,使用[/ + "要搜索的字符串"]即可,例如,搜索"printf"字符串,底行模式输入"/printf"即可。输入"n"即可自动匹配下一个。
执行命令
底行模式下使用 [! + 命令]即可不退出vim,并执行相关的命令,当命令完成后,使用回车键即可返回vim。
批量化替换
若要对文本中某些字符串进行替换,使用 [%s/要替换的字符串/新的字符串/g]即可。
分屏
若想要打开多个屏,可以使用指令 [vs 文件名],如下所示:

若要使光标在不同屏之间切换,使用"ctrl w w"即可选中分屏,分屏可以帮助我们编写多文件代码。
其它操作
光标定位
在使用vim打开文件时,若使用 [vim + 文件名 + +行号],在打开的时候即可快速定位到对应的行数。如vim test.c +9,即可使光标定位在第9行。
退出
在命令模式下,也可以退出vim,使用"ZZ"即可快速退出。等同于"wq"保存退出。