各位小伙伴,大家好,我是酒点,咱们本章开始接触vi编辑器这是一个大名鼎鼎的编辑器,当我们做Linux相关开发的时候,vi是我们必须掌握的一个编辑器。
对于vi而言,是Linux中最经典的文本编辑器,像我们在做单片机开发当中,用到Keil等等,vi编辑器用得就比较少。如果说你要做一些Linux相关的开发,这个时候,vi就是很重要了。另外一个,真正我们在开发的时候,对于Linux开发也好,单片机开发也好,是一个嵌入式工程师在项目中经常会遇到的,这种高低搭配,高低开发是我们一个嵌入式程序员会经常遇到的,所以我觉得vi是我们每个嵌入式开发者的必修课。
接下来我们来看一下这个vi文本编辑器的设计理念,核心设计思想就是让程序员的手指始终在键盘的核心区域,就能完成成所有编辑器操作,就是能用键盘不用鼠标,像很多人喜欢玩游戏,在玩游戏的过程中,按的就是那几个键,大家心里都有数吧,在你玩游戏的时候,让你再过去找鼠标这个动作是非常讨厌的,所以vi也是有这种相通之处,希望我们的手在核心区域就能完成所有的编译操作。
- vi打开和文件新建
- 在终端输入vi在后面跟上文件名,即可以
用法:$ vi 文件名
如果文件存在,会直接打开该文件
如果文件不存在,会新建一个文件
- 实操:gedit和vi结合练习
vi a.c
vi ad.c
在我们还没变成一个vi高手之前,千万不要小看这些简单的操作,一定要动手练习一下哦😐
咱可以来看一下本仙的操作,打开我们的虚拟环境,Ctrl+Alt+T打开终端编辑,输入命令gedit a.c,这个a.c和ad.c都是我已经建好了的文件所以就可以直接打开了,再来试一下vi a.c。两个打开的都是同一个文件夹,感觉vi是不是更顺手呢,如果没有这个感觉,那我们还得多熟悉哈,强迫一下自己,慢慢就好了。
提醒一下:将来我们写文件有可能希望一打开文件的定位到一些行,比如说你有一个几千行的程序运行的时候有错误了 你就想只改这一行错误,这时vi就发挥了重要作用。
- vi打开文件并且定位行
- 知道某行代码有错误,可以快速定位到出错的位置
- 用法:
$ vi 文件名 +行号
提示:如果只带上+而不指定行号,会直接定位到文件末尾
- vi异常情况处理
- 如果vi异常退出,磁盘上可能会保存有交换文件
- 下次再使用vi编辑器文件时,会看到以下屏幕信息,按下字母d删除文件即可
来使用一下ls -a显示一下当前文件包括隐含文件,有想改的文件吗?如果有,请使用mv命令哦😐😐😐😐,mv命令是什么还记得吗→重命名。
说了这么多,你知道vi打开的时候怎么关闭吗?按ESC键再按:wq,然后enter即退出。
下面越来越重点了,竖起小耳朵哟
- vi的三种模式及切换
①命令行模式
打开文件首先进入命令模式,这就是使用vi的入口
通过命令,可以进行复制,粘贴,删除,定位等操作
②插入模式,正常的编辑文字
③底行模式
光标位于屏幕的底行,底行模式可以输入命令,进行文件的保存,查找,替换等
要退出vi,返回控制台,也可以再底行输入命令
底行模式是vi的出口
下面由本仙来带你们练习一下,
你a,i,o,s插入后,ESC又回到命令行了,ESC是一个反向的模式切换
我们可以看一下光标目前所处的位置是2后面的分号,我们按就可以明显看到光标后移了移位,这时就可以出入程序了。
还可以看到底行有“插入”两个字吧。按ESC就没有插入了,这时就不可以插入命令了哦。
输入:进入底行,w,q保存退出
- 光标命令
小子,别偷懒哦,这些代码命令敲看看感受一下。
- vi复制 剪切 粘贴
在命令行模式下输入小写的v,什么叫命令行呀,就是刚打开vi文件的时候的界面,点v就会在底部看到“可视”
这个时候呢我们就可以鼠标开始选中命令行了,按ESC就回到命令行 按大写的V就选中这单独的一行。选中了又干什么呢?就可以剪切/删除文本啦
- vi查找替换分屏命令
先用vi打开一个文件
可以看到光标现在在第8行闪烁,先按r再按w就可以看到分号变成w了,不要直接按w哦,直接按就变成w的下移功能了。而R和r的区别就是替换一个和一行替换,按ESC就会到命令行模式。
打开一个文件,可以按gg回到首行,如果输入一个 / 就会定位到底行,就可以在底行输入你想找的代码进行操作,比如输入a就会选中a,然后enter,点n就会下一个亮起来。
想要查找的内容不亮,在底行输入这个命令就可以了
。
我们底行输入:2,8s/a/g/gc意思我从2~行把a替换成g,gc代表提示
可以看到底行提示是否要替换成g,y代表点一次y换一个,a代表全部替换,保存为w,退出是q
下面看一下午用的:vsp命令分屏
然后再看一下怎么退出叭,wq就可以退出分屏啦,光标在哪个屏上就是退出哪个屏哦