00:00
课,我们来学习一下VM。Vim是全屏幕纯文本编辑器,是VI编辑器的升级版,有什么区别呢?Vim不仅仅兼容VI的所有命令,而且高亮显示,而这个VI只能运行在这个unix还有Linux中。Vim可以跨平台运行在Windows Mac OS中。Vim号称有编辑器之神,具有无可匹敌的可扩展性。啊,深受一些这个极客的热爱啊。大部分的这个Linux系统中默认都会安装vim在。我们使用的这个U班图20.04中也已经默认安装了VM,如果你所使用的系统中没有安装VM,可以进行啊,自行安装。好,我们可以看一看现在这个VM的版本。这样。
01:00
8.1啊,这说明我们已经安装了这个VM系统自带的。在Linux系统中使用VM比较简单,直接使用VM命令就行,如果我们要编辑一个文件啊,VM。这个命令后面跟上文件名,比如说a.log。回撤就可以进入到这个。编辑界面。啊,在这个模式下。使用冒号加。Q,就可以退出啊?嗯。接着我们去介绍一下这个vim的三种三种模式。VM它分三种模式,分别是命令模式、输入模式和和底线命令模式。我们在一开始进入这个VM的时候啊,这个就是一个命令模式。啊,在命令模式下,我们可以使用一些命令,就是我们所有的输入按键,比如说这个A到Z这些按键都被视作是命令啊。
02:01
呃,比如说我们输入这个I这个命令,就进入到了这个插入模式啊,也就输入模式底下变成了这个insert,这时候我们才可以进行文本输入,可以看到。当我们输入完之后呢。嗯,现在是插入模式,也就输入模式,我们按这个ESC就可以退出插入模式,从而进入到命令模式。那么怎么进入底线模式呢?底线模式?我们使用这个冒号啊,冒号可以看到啊,在下面,呃,底下已经有了这个。光标啊,也就是说我们现在是可以在这个。在这里输入我们需要的命令了,这就是底线命令模式,比如我们让他显示行号。S nu是吧,现在就显示行号了,这就是底线命令模式这三种模式之间的一个切换。我们再来说一遍啊。
03:01
冒号进入这个底线命令模式,使用Q啊WQW是保存,Q是退出,保存并退出。Vim的三种模式。当我们一进入这个vim编辑器的时候。啊。这样的一个界面是。命令模式,也就是说在命令模式下,我们所有的按键被视为命令,比如说我们按X可以删除一个字符是吧?然后按这个。按这个A。可以在这里进行,就是按A,还有按这样这这几个命令,可以进入到插入模式,就可以输入我们的。输入我们的这个内容了。好,那。在。插入模式呢,使用ecs就是退出插入模式,从而进入到命令模式,那命令模式呢,使用这个AI,然后等输入的键去等插入的键去进入到这个插入模式,对吧,插入模式按ESC退出。
04:00
到这个命令模式,那底线命令模式呢,就是以冒号开始啊。冒号开始就是输入冒号之后,我们就可以开始进行底线命令的一个输入。比如这个显示很好,对吧,这三种模式之间的一个切换,来看一张图。这有三种模式之间切换的一个图,一开始进入的时候,我们会进入到这个命令模式。在命令模式下,我们输入这个IO。这些。呃,命令是可以进入到一个插入模式,在插入模式下,我们。按ESC键可以退出插入模式,从而进入到命令模式。在命令模式下按冒号键可以进入到。啊。编辑模式,也就是我们的命令行,就是底线命令模式。在底线命令下,模式如果按回车,就会结束这个命令的运行,从而又进入到命令模式。这就是这三种模式之间的一个切换。接下来我们一一去介绍一下这个每一种模式的一些细节。
05:08
现在啊,我们注意一下这个。左下角啊,左下角实际上是可以显示到,就是说告诉我们这样现在属于一个什么模式,现在左下角什么都没有,说明我们在命令模式吧,如果左下角我们现在有个冒号,我们是在底线命令模式对吧?如果我们现在输入I进入插入模式,左下角有一个。呃,Insert现在我们处于插入模式对吧。好,那我们保存退出是在。先按ESC退出插入模式,进入到命令模式使用。冒号WQ保存退出。接着我们。Vim编辑下这个文件。啊,把这些。禁止插入模式,把这些都删掉,然后我们写一些东西,3456。现在按ESC退出插入模式,进入到命令模式,我们先介绍这个命令模式,命令模式呢?
06:06
在保存退出下,我们看一下命令模式,我们一进来默认就是在这个命令模式,你看我们所有的敲击的键盘都会被视作是命令。接下来我们介绍一下在命令模式下常用的一些命令。首先是这个冒号键啊,冒号键这个命令是干什么,就是进入底线命令模式,现在我们就可以嗯去输入一些底线的命令,比如说显示行号nu吧。回车,回车会结束这个底线命令模式,从而又进入到了命令模式。看到了吧。然后。说一下这个I小写的II键是什么呢?是前插入模式,从选择的字符的前面开始插入,也就是说我们光标所在的字符前面开始插入,现在我们按这个按键。然后现在我们输入A,可以发现A在一的前面进行插入,这个就是。呃,这个。
07:01
I键小写的按键前插入模式。接着我们随便往往右移动一下光标啊,先按一下ESC,退出编辑模式,进入到命令模式,那小写的I是前插入模式,那大写的I呢,就是在。本行的首行进行插入,我现在。按一下大写的按键,大写的按键是按着shift和按键啊。好,就可以看到光标跳到了这个首行的字母。前面,然后我们再输入内容的话,比如我们输入一个B,会发现它在这个A的前面进行了一个输入。啊,这是小写爱和大写爱。小写I是前插入模式,从字符的前面进行插入,大写I是在首行的前面进行插入。对应的,既然有前插入就有后插入。啊,那我们先按ESC退出插入,进入到命令模式,那对应的有前插入模式,就有后插入模式,好,我们把光标放到二上面,后插的模式是什么呢?是A小写的A,这个时候我们可以看到光标跳到了三上面,然后现在我们输。
08:07
输入内容是在二的后面对吧。比如我们在退出,然后我们把光标放到三上面,现在输入小写的。按小写的A可以看到光标跳到了四上面,但是我们输入内容的话是在三的后面。是不是这个就是后后插入啊,那对应的。有小写的A,我们还有一个大写的A,大写的A是什么呢?在本行的行尾进行插入,现在我按照C的答案A大写的A,可以看到光标跳到了最后。这个时候我再输入是在本行的行尾进行输入。那我们先回车换几行,接着写一下我们的数字。接下来介绍一下什么呢?介绍一下这个上插入啊。和下插入,我先退出到命令模式。此时我们的光标所在的是第三行,那我现在输入小写的O。
09:02
可以发现光标跑到了下面这一行。是不是?现在我们就可以去进行一个输入了,诶好。保存,我们接着把光标移到这个。第三行。那我输入大写的哦,按照shift加哦,我输入大写的哦。可以看到光标跳到了上面一行,并且。呃,这些行都往后排了一行啊。接着我来输入内容。这个就是O啊,小写的O是向下插入,你好,大写的O是向上。插入一行。还有在还有一个键是在我们的命令模式下,我们按这个小写的R键是替换键。按R之后。可以看到这里啊,这里有。有一个R对吧,我们其实我们输入的命令在这里都会给我们做一个临时的一个显示。现在我们输入一个A。
10:02
可以看到这个位置的内容被替换了,这个就是R。替换。啊,小写的啊。就是替换当前光标所在的这个字符。那么。有小写的R就有大写的R,那大写的R是什么意思呢?是从光标所在的字符开始进行替换,直到你按ESC进行退出。我们来试一下按着shift的按一下R。可以看到这里左下角出现了这个replace这个样的一个字样,也就是说现在我们是在这个替换模式,现在我去输入东西,比如说一。二。三是吧,它会一直就是说往后去进行一个替换啊,直到我们按ESC退出。这是小写R和大写R。好,接下来我们再来说一下啊。这个移动这个光标,光标相关的一些键,有的键盘是有上下左右的,所以我们可以使用上下左右器移动光标,但是有的键是就说有的键盘是没有上上左右的啊,像一些极客就特别喜欢用一些极简的键盘,就没有上上左右,这个时候光标是怎么移动呢。
11:12
就要借助于我们的这些啊。英文字母这些按键那。我们先看像。左移动啊,A键小写的H键就可以向左移动,可以看到我按了H,它已经在往左跳了,对吧。嗯。是什么键呢?是小写的L键,按L就可以向右移动光标。H向左,L向右。H向左。向下是。呃,勾键就是小写的这个G键,一个勾就是我们食指所在的那个键位,对应的向上就是K键。通过这四个键,我们就可以进行光标的一个移动。再说一个。
12:01
光标跳转的一个键,大写的这个。大写的季节。也就是说,割。F后面的那个键,它是移动到最后一行。我们先把光标放到第一行啊,放到第二行,然后我们按着shift,按着这个。计件。就是F后面的这个就可以跳到最后一行光标。嗯,对应的还有一个键是。NGG就是移动到指定的行,N为行数。可以配合菜的nu使用。和孟浩恩的作用一样。然后我们比如说现在输入一个。嗯。四大写的G可以看到跳到了这个。第四行是吧。还有一个键是G忌,就是两个小写的G忌,就是这个哥,这个可以看出来就这个键啊。再按一下它就会光标跳到首行。最常用的,我们最常用的两个键就是这个跳到首行和。和跳到这个最后一行,一个大写的。
13:01
一个是。两个小写的这个G。首跳入首行和跳到这个最后一行。在命令模式下。有时候我们还要去,需要对文本进行一些搜索,搜索呢是按斜杠。然后斜杠后面跟我们要搜索的这个内容就可以了,比如说搜索bbb。可以看到这三个已经被搜索到了,对吧,搜索。搜索什么呢?我们搜索一样。搜索一样。然后如果还有结果的话。我们来搜索一二,斜杠一样。可以看到这个节目选中,如果还有结果的话,按N键会。按回车,回车之后按N键会继续向向下搜索,看到了这三个一二。被选中了是吧。
14:01
再说一遍啊,比如我们搜索一个内容之后。呃,按回车之后再按N键就可以继续向下搜索。这个是搜索。如果要删除一个字符呢,可以使用小写的这个XX就可以删除光标所在的这个字符X。X。啊,如果想要删除指定的字符啊,可以跟上这个数字,比如说我想向后删除。呃。几个字符,比如说啊。X后面这两个就没了。这样的一个。操作其实像这些复制粘贴,还有这个删除啊,剪切都可以加上这个前面加上一个数字,然后决定要操作多少行。如果我们要删除当前行。
15:00
可以使用DB。就是两个小写的D。可以看到,当前行就没了。对吧。那如果我们想要删除。这个往下删除很多行,比如说我光标现在的第二行,我想往下删除两行,可以写,先写个二,可以看到这里啊,一个二,再写个DD2DD向下。删除两行对吧。嗯。那复制是什么呢?复制是两个小写的Y啊,YY已经就已经复制了。复制之后我们。怎么粘贴呢?可以按小写的P键就往向下粘贴了啊。大写的P是向上粘贴看到了吧。小写的P是向下整体,那我们在这里小写的P。向下粘贴了是吧。好,这是粘贴,同样的,我们刚才YY是复制了,复制了一行,如果我们想要复制多行,比如说我想向下复制12345,向下复制五行,我可以按五啊,就下面的这个键啊,这个输入提示五,YY就向下复制了五行,然后左下角还有提示,然后五行已经。
16:09
啊。被复制,那么我用大写的G定位到。最后光标定位到最后,然后用小写的P进行粘贴,就会向下粘贴五行对吧。那如果我们想撤销操作啊,比如说我不想删除了,或者不想暂停了,按小写的U就可以撤销这次操作小写的U。嗯。那如果反撤销呢,反撤销,呃,在Windows里面我们CTRL加Z。是撤销,然后ctrl shift加加Z是反撤销。在这个。Vim里面怎么办呢?是CTRL加RCTRL加R反撤销。是吧,你看撤销了刚才的撤销是吧,撤销刚才的操作。对不对。G。
17:01
G回到光标,回到首行。大写的记。光标到最后一行,我们按小写的P进行粘贴。啊,接着还有一个点命令点。点是干什么呢?就说啊那个问号左边那个键那个点。点会重复前一个操作啊,你看一直在粘贴,是不是一直在向下粘贴。是吧,看下面已经粘贴了很多行了啊。按U撤销,所以说点会。啊,重复上的上一个操作。接着再说一个命令,大写的ZZ,就是按照shift按Z按左看这里,然后再按一个Z,诶可以看到保存退出了,对吧,所以这个ZZ大写的ZZ的这个作用和我们。和我们这个在。输入冒号之后,进入底线命令之后的WQ的作用是一样的啊,W是保存,Q是退出。可以看到效果是一样的啊。
18:02
好。还有一个就是有时候我们改了一个东西啊,有时候我们改了一个东西。比如说我们写了一些东西。但是啊,我不想要这些内容,就是我不保存直接退出怎么办呢?这时候你看我们先进入mid模式,这时候。在底线命令模式,我们用Q退出是退出不掉的啊,他说你的这个内容已经被更改。这时候怎么办呢?我们可以。使用这个shift加ZQ。啊,强制退出不保存。看到了吧。我们再来写些东西试试。啊,写些东西试试,然后按照shift,咱就是大写的Z和Q。强制退出,不保存。呃,命令模式下常用的这些命令基本上就给大家说完了,稍微总结一下,无非就是。呃,光标的一个移动。
19:00
上下左右的一个移动。HGKL这几个键,再然后就是进入到插入模式,进入插入模式有几个键的,有有I前插A后。后插,还有这个是O上上。就是说向下插入他们对应的还有大写的一个模式。嗯,再然后就是。我们文本编辑经常用到的一些功能是吧,粘贴,复制,剪切,删除。对应的都有相应的命令。这是。在命令模式下。常用的一些命令。命令模式我们就说到这里,接着介绍一下输入模式。之前说过,只要输入这个。IAO这几个键,我们就会进入到。这个输入模式,在输入模式下呢,就是所有的这个你的按键都会被视作是输入啊,可以看到就是我们就正常编辑文本。啊,在左下角会显示这个银色的模式。
20:04
按ESC就可以退出输入模式,在输入模下面没什么说的,就是正常的写写写内容就行了啊,正常的写内容就行了。按ESC退出输入模式。最后说一下这个。底线命令模式。底线命令模式怎么进入呢?是在命令模式下。按冒号键进入底线命令模式,这个时候是可以实现使用底线,就说一些底线命令,比如说W,诶保存了保存了雷牛对吧,比如说冒号Q。Q,退出了?当然也可以连着写,比如冒号、WQ,保存退出。那有时候我们改完东西啊,不想保存,也不想要这个内容怎么办呢?我们可以使用这个Q叹号啊,冒号Q叹号强制退出不保存啊,它的作用和什么呢?和这个和这个命令模式下输入ZQ是一样的啊。
21:00
继续说底线命令。Vim进入到编辑模式。进入到编辑里面,首先进入的是命令模式。冒号进入到底线命令模式。先说刚才已经用到过的显示行号site。Nu啊,这个就显示号了,那取消行号的显示呢,冒号。Set。No nu回车啊回车才会执行这个底线的这个命令,你看到行行没有了。再然后W收回了是保存,Q是退出,也可以是Q叹号,强制退出。如果。我们就是说想让光标快速的定位某一行,可以怎么办呢?可以使用冒号加行号就可以了,那这时候我们是看不到行号的。所以我们先把。
22:00
行号给显示出来,冒号set nu,然后比如说我们光标现在的第二行,我想跳到第14行是吧,冒号。直接输入14回撤,可以就让光标直接跳到对应的行。啊,这是一个快速移动光标的一个。一个这个方法。嗯,接着说一下关于替换的一个一个。命令。也就是说,我们要把第几行?啊之间的什么内容替换成什么。我们看一看,我们拿这个第11行和。十一十二十三这商行来举例,把这个第12行的啊。这个B。A1给替换掉啊。这是什么命令呢?首先我们按冒号进入到。首先我们输入冒号。冒号进入到底下命令模式。
23:00
啊,注意是英文的冒号,你中文的冒号是进入不到底线命令的。呃,第一个参数是我们的行号啊,就是说第几行开始。从第11行开始吧。啊,逗号第二个参数是。啊到。哪一行结束啊,我们到第11行,我们到第13行结束,然后。啊,写我们的这个规则把什么呢。把这个。Bae啊,这这几个内容啊。给替换成什么呢?替换成哈。啊,斜杠。第一个是这有个S斜杠,第一个是我们要要替换的,就是说要查找的内容,后面这个是要替换的内容。然后。斜杠G啊。这样的一个规则,这样的一个规则。看第一个是开始的位置,从第一行开始,第二个是十,第二个是是这个结束的位置啊,匹配到第13行,这个是我们的匹配的一个规则,就是匹配BA1把它切成跳水哈,回撤执行。
24:12
可以看到啊,这个位置已经被替换了,这是快速。就是批量替换的一个。一个操作,那有时候。我们就说需要全文本全文进行替换,而不是说去进行啊,某某某一行到某一行那个替换怎么办呢。啊,这个时候我们可以使用冒号啊一对吧,从第一行开始。逗号,然后用do符。do符就代表。啊,最后一行就一直到最后一行,然后写我们的规则。S开头我们把什么呢把。嗯,BA1吧,这还有几个BA1,还有两个BA1BA。然后给切换成。Hello。斜杠。
25:01
回撤可以看到这个所有的这个bae都会被进行给替换了。全文替换,还有一个简写的模式。冒号进入提前命令模式。百分号。斜杠啊,S斜杠,我们要替换的内容我们把哈。替换成。Test。杠G。回撤可以看到所有,就是说文章文本中所有的这个哈,都被替换成了test这样一个简写的模式,使用百分号。稍微总结一下VM的三种模式。保存退出。首先我们一进来是进入到这个命令模式。啊,在命令模式下,我们所有的按键都会被视作是命令,比如说替换,比如说啊删除。呃,命令模式下。提供了非常多的一个命令,方便我们去快速的编辑。
26:02
在命令模式下呢,输入这个IAO可以进入插入模式,在插入模式下左下角会有一个隐私的,这个时候我们就可以去写入我们的东西。按ESC可以从插的模式退出。从而进入到命令模式。在命令模式下呢?按冒号可以进入底线命令模式,在底线命令模式我们可以使用嗯,更多的一些命令,甚至一些命令的组合进行其他的操作,比如说呃,设置行号跳转到某一行。进行进行一些全文本的一些替换。啊,甚至是保存啊,或者是退出都可以啊。Vim就简单的说到这里,是一些比较基本的一些使用特别复杂的。我们也暂时用不到,不做那么深入的学习,大家会用这个编辑器就可以。因为在操作服务器的时候,我们会频繁的用到这个命令。
我来说两句