00:00
好,最后呢,我们再来详细的介绍一下指令模式,或者叫命令模式,那前面我们介绍模式间转换的时候,其实也提到了,它可以认为是一种一般模式下的特殊操作啊,所以有些文档里边是把这个命令模式划归到一般模式里边的。那它主要是干什么呢?就是在一般模式下按一个冒号,或者按一个斜杠,就可以去输入一些命令操作了,比如说诶可以去保存一下文档,比方说可以去直接退出,退出当前的这个文档编辑,或者说之前我们做的啊直接set。Nu啊,就可以显示所有的行号,它相当于是针对当前整体文档进行应用的一个操作,而不是去修改文档当中的某个内容,所以它跟编辑模式还是有本质的区别的啊,可以认为是一般模式下的一个特殊的操作。那我们还是在例子当中啊,来看一看到底怎么去使用吧,首先还是刚才的这个例子,我们可以在。
01:02
啊,当前这个第一行上边,啊,整个文档的最上边来做一些操作。当然如果我们想要在第一行之上直接去插入的话,诶,这个时候其实就用到了之前我们一个快捷的进入编辑模式的方式,Shift加O,哎,我就可以直接在上面追加第一行了啊,那我这个就随便随便写一些东西吧。很明显的看到输入了一堆乱码,然后退出编辑模式。我们要注意现在如果我想要进行。退出的话,我们知道退出是打一个冒号,打一个Q,能直接退出吗?我们可以试一下,哎,我们看这个是不行的。这里面显示的是已修改但尚未保存。后面有一个括号说可用感叹号强制执行啊,这是什么意思呢?这其实就代表了我们进行保存和退出的,呃,几种典型的命令操作啊,我们在这里可以统一的来说一下,那就是最常见的就是直接冒号一个W。
02:09
那就是把当前的更改做一个保存,那如果直接来一个冒号Q的话,就是表示要直接退出。那假如说是WQ也可以组合啊,那就是保存并退出。那假如说我当前就不想保存我插入的这个乱码直接退出,那又是什么样子呢?那就是加一个感叹号,感叹号就是强制操作的意思,如果是Q后边跟一个感叹号,就表示当前的更改直接不保存,强制退出去,就不会再有这样的一个提醒了,哎,我们这里可以试一下啊。这里可以直接冒号,然后Q加一个感叹号,我们看果然退出来了啊,那当然我们可以再进去看一眼当前的这个文档。第一行就根本没有更改,所以刚才我们的更改就根本没有生效啊,那如果说现在我们再进去还是乱敲一通,然后接下来呢。
03:06
我先退出,注意啊,直接在编辑模式里边,你如果打冒号的话,它肯定就追加到我们这个文档里了啊,所以编辑模式是不能跳转到命令模式的,要输命令必须先ESC回退到普通模式,然后接下来冒号,我如果要是WQ的话。保存并退出,诶我们看这个就可以正常退出,而且再次进去的时候就会发现这一部分内容已经保存在里面。啊,那当然了,另外还有一个比较特殊的操作,就是我可以直接。WQ后边再加一个感叹号啊,那那当然了,对于我们当前这个文档而言啊,这个没多大意义,因为本来我们WQ就可以直接保存退出了嘛,那WQ再加感叹号是什么意思呢?感叹号我们说是强制执行的意思嘛。它主要是针对。后面我们会提到啊,就是文件,它可以有各种各样的属性,如果说是一个只读文件的话。
04:03
那么。我们当前文件默认是不能更改的啊。但是假如说我们本来有足够的权限,就是我本来就能更改这个,呃,文件的这个属性,文件的类型啊,那我是超级管理员对吧,或者我是这个文件的所有者,那我当然可以把它的只读改成这个,呃,非只读可以改成可编辑,那这样的话,我当然就可以强制把它改掉。那在这种情况下,WQ后面加一个感叹号,那就表示强制把一个只读文件也可以做保存退出啊,这有时候可以这么去用啊,大家了解一下就可以。啊,这是关于这个冒号后边最常用的这个做法就是保存和退出,这也是命令模式下最主要的用法,那这里面需要再去提到的几个冒号后边的用法呢,那就是一个我们看到是前面我们提到的。Set nu直接显示所有的行号,然后另外啊,当然就是你如果不想再看到了,那就直接set。
05:07
No nu就是no number,没有行号,直接就把它取消掉,哎,这是之前我们能够看到的啊。除了直接使用冒号进入命令模式的这种方式之外,另外还有一个比较特殊的使用方式,那就是。直接来一个斜线。来一个斜线之后这个操作,这是要干什么呢?是要做查找啊,比方说我看到,诶这里面好像有很多个boot这个词,哎,那比方说我想查当前的这个boot这个词,我就可以。直接输boot,然后回车,我们看到当前文档里边的所有boot就被查找到,就被高亮起来了,而且我当前的光标会直接跳转到第一个查找到的boot那里。那如果你想找第二个不填的怎么办呢?我可以直接按N,那就键盘上的N跳转到第二继续N,下一个我们可以不停的跳转,一直跳转到后边啊,所以这就是一个非常好用的用法啊,可以查找,快速的查找我们当前所有的包含某个关键字的内容。
06:17
啊,我们看查找到结尾的时候,还会从头开始继续查找啊,这就是标准的VI编辑器里面的查找功能。那前面我们看到这个是向下查找,这按的是这个小写的N,呃,那直接要找到底才会回到头,那假如说我找着找着找过了,想要直接往往回去找,往上找怎么办呢?那用大写的n shift加N,哎,这个就又回去了啊,所以这个其实还是比较简单的一些操作。然后除了这些操作之外呢,另外还有一个非常。强大的功能,那就是替换,因为我们知道这个想要做查找,这并不是目的,如果说查找到了之后,我们直接能把它替换成一个想要的东西,这可能才是我们真正的目的啊,那所以这个时候我们希望,呃,比方说啊,当前这个boot,我要把它不光是啊上每一行里边有,我还希望在各种不同的每一行里边不同的位置还要有很多个boot啊,那我就把它再多复制一些吧。
07:23
哎,我这里边可以直接光标移动到这里,我们还记得啊YW复制,然后在后边直接粘贴PPP直接粘贴很多个,把它粘下来之后,我们发现,诶,这个它一直高亮显示,看着有点诡异,有点奇怪,能不能取消掉高亮显示呢?哎,这个也是可以的,我们可以敲命令冒号,然后。No hh我们知道是highlight对吧,高亮显示直接一敲,诶恢复到原先正常的状态了,接下来我们要查找当前所有的boot啊,当然你如果直接查的话,就是直接一杠,然后boot这就又回来了嘛,我们现在是要替换,比方说把boot替换成多一个O啊,三个O,那这个怎么样去做这个操作呢?
08:08
那当然了,就要进入命令模式了啊,我们先把这个高亮去掉啊,然后冒号,这个命令模式是我可以直接写一个S。然后。打一个当前我要替换的那个词。Boot。然后后面是想要替换成的词啊。比方说三个,然后加一个T。哎,这样的话,我们看看变成什么样了。我们看到其实是只有当前光标所在的这一行。一个不变成了三个O。哎,所以相当于我只是更改了当前的一行。其实呢,如果我们仔细的去观察,假如说我把这个光标移动到上面来啊,我们可以看到光标直接移动到上边,然后再去。S。
09:00
Boot。这样去替换的话,我们会发现它其实替换的是光标所在行的。第一个查找到的词,哎,所以我们要注意啊,经典的这个查找替换的方式啊,S,它其实是替换当前行匹配到的第一个,哎,这里的这个old为new。那假如说我们想把当前行匹匹配到的所有的都替换掉呢?好,那后边要加一个G,我们看一下效果。冒号S。Boot,然后三个O后边再加一个杠,GG是什么意思呢?Global全局替换啊,那当然了,这个全局只是针对当前行的一个全局,我们可以看到后边当前行就全部替换了,其他行不受影响。好,这个我们可以下面还有一个显示啊,就是八次替换只有一行做了更改啊,呃,我们可以把它这个回退回去,然后接下来我们要介绍的,那你只只替换一行,我们在实际应用的时候肯定不给力嘛,往往我们可能就考虑的是要把整篇文档里边所有的东西全部替换掉,那这个又怎么写呢?
10:13
哎,那这个时候我们要做的是。加一个百分号。百分号S,然后。杠。Boot,然后多加一个O啊,那这个时候如果说我现在就这样结束的话,那我们看看效果是什么样的。诶,我们看到它其实是把每一行的第一个boot。都改成了我们想要的这个三个O的状态。但是后面的没改,哎,那所以对于这样的一个情况我们就知道了,因为我们前面说哎,如果是S,然后直接后面不加G的话,那相当于只替换当前行第一个吧,那所以现在不加J是不是也只替换每一行的整篇文档每一行的第一个呀,诶,那所以接下来我们退回来,如果想要替换所有的话,大招当然就是百分之S,然后。
11:08
Boot。后边再加一个G,这就是全篇文档所有的不都被替换掉了啊,这就是我们进行文档里边查找替换的过程啊,这个在实际编辑文档的过程当中使用还是非常频繁的。啊,那如果总结一下的话,我们再来回头看,那就是模式间转换的关键,其实核心还是在一般模式这里,如果按冒号或者说按这个斜杠,主要就是进行查找啊,高亮显示,按这两个键的话,进入的就是命令模式,可以针对当前的文档进行一些命令操作,而如果按IA或者O的话,小写大写都可以,进入的就是编辑模式,主要就可以对文档进行编辑插入。啊,那在一般模式下呢,可以进行非常方便的光标的移动,复制粘贴和大段的删除这样的一些类似操作,如果大家感兴趣,可以看一下我们文档里边有一个图,这个可以双击打开。
12:11
我们可以看到这里边针对我们键盘上的每一个按键。Vim编辑器都把它们充分利用起来了,每一个按键都有它的用途啊,他们在这里边,诶可能是这里的绿色表示的是光标移动的动作啊,或者定义一个操作的范围,那像这个黄色呢,诶,这个就是命令了啊,就是具体要执行,比方说添加或者删除或者说修改啊,就是这样的一些命令操作,那还有呢,橙色的是,呃,具体的一些操作啊,那比方说像这个拷贝复制,还有这个删除修改啊,这是针对文本的一些操作,所有的这些每一个按键,他们代表的指令在这张图上都有显示,感兴趣的同学可以把这个好好的去研究一下啊,当然我们常用的指令,只要把课堂上介绍的那些了解到也就足够用了,其他的话,我们可以在使用的过程当中啊,想要用的更快,那可以去再去看一看。
13:10
啊,如果说我们把这些指令全记住的话,使用V去进行文本编辑真的是可以速度飞快,这就是传说中的编辑器之神,V编辑器。
我来说两句