00:00
那刚刚呢,我们学习了VM的三种模式。重点讲了。扩展的命令模式的各种用法。插入模式,这个没什么说的,它就是在这个模式下进行文件的编辑修改。而对于VM来讲呢,最核心的就是它的命令模式。或者叫。那么模式。那这个普通模式,命令模式,它最大的特点就是支持大量的快捷键,这个快捷键的内容。啊,非常多。当然,我们还是挑一些重点来给大家说。接下来我们来说一说命令模式下的各种按键,各种用法。
01:00
好,刚才我们已经给大家讲了扩展命令模式,接下来进入到下一个模式,命令模式。命令模式。就是在这个模式下,我们输入的任何键都是快捷键。这个模式下。有很多按键功能。实现了不同的功能。比方说我们想退出V。我们也可以在命令模式下输。这两个退出方法。一个叫大Z,两个敲,敲两遍就可以退出,保存退出。还有一个是ZQ也是大写的不保存退出。所以实际上呢,我们要想退出文件的编辑修改,可以不进入到命令模式啊,扩展的命令模式也就是冒号模式,我直接就可以在命令模式下输两个大V就存盘退出了是吧。
02:08
哎,这也是可以的。啊,除此之外,我们还可以进行光标的跳动,这个呢,大家不陌生。上下左右已经可以来代替上下键。左右键了。它也可以一次性的执行多个字符的跳动。方法就是在每个字符的前方加上一个数字。H向左移动一个字符。我们可以通过3H,就是向左移下移三个字符。啊,那现在比方说我们打开这个文件。我的光标在这个位置,我们输H键开始向左移,一个一个移,我也可以输3H,一下就移三个。
03:04
同理,比方说L是向右移,那你比方说输5L再移五个。理解了吧,那其他的K呀,包括这个J呀,都是一样的意思。我们还可以在当前页的来进行跳动,H表示当页的行首,什么叫当前页呢?就是有些文件呢,比较大,它一页放不下,当然这个文件不小不大啊,那我可以把这个文件来读一下,我让它更多一些,哎,这样的话这个文件就多了一些,那么它一页翻不翻不完,那怎么办呢?哎,当前这一页我们想把光标跳到。当前页的第一个行行首,那么去可以出大H,不过这个叶呢,和分辨率有关啊,我们看到它并没有跳到真正这一个列的行首,这和叶的分辨率有关系。
04:07
好,然后还有一个大M,它是当前这一页的页尾,还有一个大M就是正中间啊好,这是这三个,另外呢,我们也可以用ZTZZZB。它不是光跳光标的问题,它是把光标所在的行直接给你进行了移动,比方说ZT呢,是把光标所的行给它移到屏幕的顶端,那就是整个移动了啊什么意思呢?你看我这一行,这一行有个version,现在我想把这一行给它挪到最上面去,挪到最上面去,以前的做法呢,就是诶我把它移移移移,诶移到凑上去了,这么移。那事实上现在我们可以用这种方法,就是ZT看到没有直接移上去,不过这个也是和分辨率有关啊,没有移到最真正的顶上去啊,就是移动。
05:04
啊,那再有就是在光标在行首行尾之间进行快速的跳动脱字符,大家看脱字符可以起到把光标快速的跳到行的行首,不过这个行呢,它是分两种情况,一种这个行前面这有空格空白符,还有一种是像这个没有空白符,那么我们托字符你会发现它实际上跳动的并不是真正的行首,而是空白符。啊,这个非空白符的。第一个字符啊,那如果是要跳到,管你空白不空白,我就想跳到整个行的行首,那就数字零就行了,数字零就是跳到当前行的行首,有行首就有行尾,那就是Dollar。美金符号。
06:00
那就可以跳到整个行的行位啊,当然这个行如果比较长的话,比方说你看这行,这行实际上它是一行,因为它行太长,它放行了,所以如果你把这一行你要跳到行尾,大家看高是不是它就是真的行尾。对吧,哎,他换行了啊,因为这个行太长了。好,这是刚才看到的。那接着我们来继续行间进行跳动,那么这个行我想跳到某第几行可以加一个数字,后面跟上一个。大G,那大G呢,可以跳到,你想跳到第九行,比方说我想跳到第十行,那就十大G这第十行。哎,你要想跳到第一行。应该有什么?G1大G是吧,但实际上我们用两个小G就行了,GG这是第一行,也可以跳到整个文件的最后一行大勾,大G不是大勾啊,大G就整个文件的最后一行啊。
07:15
那事实上这种跳动我们用的还是非常多的啊,尤其文件比较大,你用这种方式快速一下跳到第几行第几行。哎,还有就是句子间进行跳动啊,就是小括号,画括号,发括号是段落进行跳动,这个跳动的更快。然后这个是翻屏,当然翻屏来讲呢,这个一般我们不太用,就配up就可以翻屏啊,可以翻半屏啊。那再有就是字符的编辑。我们可以通过X这个键把当前光标的所在位置的字符删掉。而并不会切换到插入模式,大家看我现在在命令模式下,我敲X看到吗?是不是把它删了。
08:05
直接删了。而且还没有切换模式。当然也可以支持什么数字X,那比方说10X,你就一下删十个呗。那XP呢,有一个很巧巧妙的功能,就是把两个字符互相换位置。比方说这个是on,我想把这个O和N对调位置,那你就可以很简单的敲个XP就可以了,再看XP。换位置了。它实际上所谓的换位置怎么做的呢?实际上X并不是真删,它是粘,是剪切的意思,那么一剪切完了以后,它由P是粘贴嘛,所以正好就贴到后面去了,理解了吧,是这个意思。好,然后波浪弧是转换大写字母,所以我们现在比方说把这几个字母想转换成大写,你不用自己写了,波浪弧波浪波浪波浪波浪看到没有。
09:02
自动转换大写。是不是方便啊?好大勾,这个很有用,它可以删除当前行后的换行符。啊,这个实际上很简单,删除当前这行的最后的换行符,那啥意思,那是不是就是把上一下一行和上一行放在一行里去了,对不对,哎,大家看着啊,大勾。都算出了是不是挺方便呀啊,以前很多人都怎么搞啊,那就是把光标跳到这,然后切换到插入模式删了,这么想。你这不多啰嗦呀,对不对,有了这个写法,大勾上去了是吧,效率相当高。还有就是替换,我们如果想把某一个字符替换了,可以输R小R啊小二,就是你把这个光标所在的位置给它替换了,比方说R你替换成一,那数字一输就行了。
10:07
但是他只替代一个,然后你再想把他踢了,你再输。如果我们想接下来的内容全是要替代的,那就是输大R,大R的它会切换到替换模式,它是另一种模式了,大家看着啊,大二。发现什么变化了,是不是在这个地方出现了个,这就是第我们学习的第三种,第四种模式了,除了之前的。普通模式,命令模式,还有插入模式。啊,还有一个叫末行模式,或者是ex扩展的模式,现在又多了一种。替换模式,替换模式呢,就是你说什么就替换什么,是不就了。明白吧,哎,这就是大二。然后接着我们看ec键又可以回到原来的命令模式了,删除命令D键可以删,删的话你看你怎么删,删的话呢,D Dollar就是删到行尾D托字符D0这几个看起来是不是跟我们前面讲的脱字符零就关联起来了。
11:20
那是不是就删到什么什么位置。DW呢是删单词。De是山,也是山单词,不过山的位置不一样,你看W什么意思呢?你看W,他说W。我如果是光圈W,它是移动光标,如果DW,那就是3W,看到没有一扇一个单词。当然他认为这个这个算一个单词啊,DW你看到没有删了,还有一个是de de是什么意思呢?你看be Bebe,哎。Be be也是删,不过呢,它删的效果和DW一样吗?啊,好像都是删单词是吧?不过呢,它是有区别的啊,什么区别呢?咱们来试一试啊,咱说ABCC这不是有三个单词吗?啊,如果我们的光标在这个位置,我们现在敲BW啊,或者敲W也能看出来,WW发现了吗?它是光标的行首,哎,如果是E呢,是不是行尾就是当前的单词的尾,所以这个位置不一样啊,位置不一样。
12:38
好,还有就是。这个。BB是向前翻的意思,向前山,像这两个都是往下删,这个是往前山。其中我们用的比较多的是DDDD呢是删整行,这行就删了,甚至我们还可以一下子删好几行,比方说我把这行往下的三行,这三行都给删了,那就是3BD,看到没3BD。
13:08
都给删了。啊,所以这个删除还是非常方便的啊大D呢,这个就等价于D到了,还有复制粘贴,复制粘贴的话,Y这不是我们说过吗。那YY呢,是复制整行。3Y就是复制三行,一个Y也是复制整行,它是大写的。P呢,刚才说过两个粘贴方法,小P大P对吧,小P是粘在后面,然后大P是粘在。前面啊,前面。CC表示的是它删除之后自动的切换到插入模式,也就是说用C也可以切换模式,不过呢,它会做一些删除啊,比方说我们用C。后面跟上一个这个。零零表示的是行首。
14:01
所以我们删除之后,它就会自动的把光标之前一直到行程全删,同时切换模式。CC呢,是删除当前这一行,同时自动切换模式,大家看着啊,现在我们CC,你看着CC。是不是底下出现了个insert就切换模式了,所以C呢这个字符它会涉及到模式切换。那下面这些就是我们刚才给大家做的这些。各种符号的总结了,另外呢,我们还有搜索,搜索的话刚才我们说过了斜杠,斜杠就是搜索,不过这个搜索是从上往下搜。而问号呢,后面再跟一个字符串,表示的是相反,逆向搜索。呃,N和大N小N这两个配合,这两个搜索,小N是和命令同向搜索啊,比方说斜杠呢,是从上往下搜,那小N呢就是一直往下搜。
15:00
大N呢,和其他相反,就是逆向搜索知道吧,哎。另外我们还可以实现所谓的替代,就是取消啊,取消这个取消U是撤消,相当于Windows里的CTRLZ,然后说我们刚才删错了,没关系,小U小U小U小UU,哎,你可以一直可以成小。哎,小优。一直撤销到啥时候啊,一直撤销到你这个打开这个文件的时候。全都给撤销了,当然,撤错了,后悔了,不应该撤就应该做。在Windows里面撤销用CTRLZ取消撤销也有一个按键叫什么。CTRLY对吧,那么在Li里面V它用的是CTRL加R解,那CTRLR呢,就是重做呗,接着做。啊,撤错了,撤多了再撤回来。哎,CTRLR。还有一个是大U。大U呢,就表示的是我们把当前这一行的所有操作全撤销。
16:04
啊,比方说这行我改了很多次,一直在这行改改很纠结是吧,哎,很纠结。纠结了很多次,现在我想撤销,那以前的话小优小优,但是小优撤销太慢了,那大优一下子把这一行的所有操作全撤。回到初始状态。当然。要求大家这一行不要离开过。就是你如果你改了半天分一到下一行,那就不行了。一定是在这行,改改改,你纠结,你一直在一个地方纠结,你别到处纠结,这不行。啊。啊,他是这个意思。好,还有就是重复前一个操作点,就是一直重复那井号点,就表示重复前一个操作N次。啊,这个都是通用的啊。啊,然后呢,还有一些高级用法,这个比较特殊啊,这个比方说我们可以写起始位置加命令,再加结束位置,比较常见的这个命令呢,就是复制啊删除什么的。
17:08
你像这个呢,就是零表示行首到是行尾,那是不是Y的就是复制,那是不是就把这行给复制了啊,哎,这也可以,另外呢,它还支持这种特殊的用法啊,这个用法什么意思呢,100。然后输完100以后,再输一个I键,再输王,它的作用就是复制王100字。把这100次粘贴100次啊,100I,那我们来试试啊,假如说在这这个很有意思,这。先输一个100,再输个A键,大家看A键是不是就自动进入的插入模式了,是吧,输个王输完完以后看一些C键,大家看着啊走。看到没有?这一下就付了这么多,这个以后啊,咱们尤其学习一些什么文本的这个工具的使用的时候,大家可能会莫名其妙的见到这种现象。
18:08
哎,莫名其妙怎么又给出来这东西了,就是你不小心那了组合键,你也不知道咋来的,就这么来的。好,另外我们在这边还有一些非常好用的功能,是这些功能我们可以把两个引号或者中括号、小括号之间的字符进行删除或者复制之类的都可以,比方说我们想把两个双引号之间的内容给它删了。那么以前的话呢,我们要删就是一点点删,现在有一个叫Di。这个双引号它就是删除,啥意思呢?是这样的,我们这儿有一个双引号,它中间写了很多东西,写了很多东西,现在我就想把双引号之间的内容全给它删了,只删双引号中间的啊,其他的不删。那以前的话呢,很多人都是这么干。
19:02
哎,删删删删,这个就太慢了,我们有快速方法就是。在命令模式下,敲D键,再敲I键,再敲双引号,你看着。下半年。当然我如果不是双引号,是比方说是一个单引号,或者是中括号,那咋办啊,那就换成单引号就行,换成中,比方说中文号,中文号你想把中号你给删了,那就是BI半拉中号。看到没有,所以这个就是非常。很快是吧,是不是很快觉得。诶,这个东西你还是要记一下的啊,这个东西记住以后确实感觉效率真的很高。也可以复制,也可以粘贴,这都可以的,另外呢,我们还可以实现可视化的功能。可视化功能就是有点像鼠标的图形界面操作了,我可以用鼠标一样的方式选中操作字图。
20:05
就像这样选,但是在当前的模式下,终究是个字符界面,我们要操作怎么去实现一个鼠标选中的一个效果呢,就进入到可视化模式,可视化模式呢,你看怎么记呢?有多种方法记,第一种方法呢,直接敲个V。直接敲个V呢,它就会进入到可视化模式,大家看啊可视化模式我敲个V,你看这敲V的话会带来什么结果。大家注意到底下是不是出了一个VI?然后当我们输完V以后,你再移动光标,你看我们上下左右方向键移动一下,明白了吗。对,所以我没用鼠标啊,我是用的是键盘,是不是就是有点像鼠标选中的感觉了。选中以后,那那你干嘛呀,比方说你可以复制也可以删除啊删除比方说DB就删了,看到没,这是不是挺挺方便呀,但是他这个选呢,是面对的是一部分字符,我们也可以大V,大V的话,它一选就是整行,整行你看一选就是整行,他不允许选半行,这是大的。
21:13
大于,比方说我复制一下Y复制一下,然后想贴粘贴粘贴,我可以粘到你下面小P就粘过来了,看到没。哎,这都可以,它还可以支持块的方式,这个块的方式我觉得是很有意义的啊。啊,比方说有的时候我们有些块的这个地方想加一些内容啊,或者是上上一块内容,那你就可以用块的方式,块怎么做呢?CTRL加V键。我们可以诶,你看一选就是一块,一选就是一块,选中这块以后呢,你甚至可以把它进行删除啊,一删你看整块整个删,一选就是一个矩形。这样来下。那还有一个非常好用的功能,大家看啊,这就是可视化模式,干的活怎么做呢?就是在每一行的行首插入一个。
22:07
井号,就是我们把所有行的行首前面全加个井号。哎,比方说我们先找一个简单的文件,这个文件我们现在希望在每一行的行面加井号,怎么做呢?这么做,首先我们把光标先定到你要操作的行,然后先CTRLV进入到可视化模式。然后选取,选取这一行要操作的行,那也就是说你要选多少多少行,然后再输大A键。大A键,大A键的话呢,我们再插入你要想输入的内容,大A和小A区别在哪。大插入模式下就是那个那个呃,命令模式下I键可以切换到插入模式吗。是什么意思?大A大A是不是就是把光标跳到行首来变添加新内容对吧?诶,所以我们大A的话呢,就起到了把光标跳到前内容,然后输入要插入的内容,再按一些C键,这时候你就进去了,那我们来试试啊,看一看,也就是说我们用这个VI的这个工具起到了一个起到了一个快速的在每一行加井号的作用,看着啊怎么做呢?先把光标先放到你要操作的这一行的位置。
23:39
然后再按CTRLV键,你看着啊,CTRLV键走CTRLV,诶CTRLV,诶这个出错了,因为我们没有在那个模式下,一定是在命令模式下敲CTRLV解。然后底下是不是出了一个block,然后接着我们敲完以后去进入啊,这个大G,大G呢,就是跳到整个行的最后一行。
24:06
这样的话呢,我们就相当于把光标这个内容啊,当然下面这个呢,是呃,这个每一行啊,每一行的话呢,就是你想。在哪一行加,你就跳到哪一行啊,比方说我们如果是行首的话,从整个文件都加的话,那就不一样了,如果整个文件夹你先把它跳到整个文件的第一行,那就小GG。跳完以后呢,CTRLV,然后再把它跳到最后一行,大家看一跳到最后一行就大G是不是就整个就选中了。选中以后,接着我们输I键,输I键,I键呢,是不是就把光标跳到了整个行的。第一个部分大A,大A输完了以后,你接着输东西,比方说输一个井号。说完井号以后按C键没是不全加一。这样的话呢,所有的行全加上。
25:01
井号了,井号的作用呢,就是经常我们在文件中是作为注释的,所以用这种方式可以加注释,明白了吧,加注释啊,这个是非常好好用的,然后我们还可以在这个位置在指定的块。位置插入相同内容。啊,比说光标先定位在所操作位置,然后进入到可视化模式,然后接着我们进入到A,然后输入的内容,然后按E键啊什么意思呢?是这样的,我们不一定是全部都加啊,全部都加也可能是只是在部分地方加啊,例如我只是在这那这时候我们先把光标跳到这个位置,然后我们看CTRL加文键进入到可视化模式。然后。进入到可视化模式。然后我们再输一个这个按键大A,这时候你就输东西。
26:06
哎,输完东西,输完东西以后,接着我们再按页CG。那一页C减。当然我这写的是一行啊一行,那如果你要写多行的话,那应该是选中多行才对啊,比方说我们现在刚才选了一行啊,一行就没意义了啊,那我们现在先把光标跳到这一行,然后看CTRLV进入到这一行,然后一下子选多列,一下子选多列,一下子选多列啊,我们不要选一列啊,选选多列,比方说我们现在输到这CTRLV,然后A,我是不是一下子选了好几列,就是选好几行,选完好几行以后呢,输I键。哎,这时候呢,就进入到插入模式,那这时候我们输123,输完以后,你看C键你看到没,是不是这么多行都有123了。对吧,这就是非常好的方法啊。
27:04
好,这是刚才我们提到的,那接下来咱们来看一下,那么目前来讲呢,咱们已经把这个,呃,命令模式的主要用法给大家说过了啊命令模式,那接下来我们就看一下别的模式,除了可视化模式,还有一个叫多文件模式,多文件模式就是一下子打开多个文件。那当然这种呢,就是我们如果你系统中有多个文件的话,你可以都打开,比如说VI1TEST f2test,当然你打开以后呢,它默认只会在第一个文件里面。第二个文件看不到,如果你想切换到下一个文件,就next,看到没有next,那我们在这进入到扩展的命令模式next,大家看是不是就下一个文件了,对吧?当然如果你想回到前一个文件,就是first的第一个文件,那最后一个文件。W2就是保存所有文件,Q2不保存所有文件,知道吧,这就是。
28:06
保存退出了,这个W就是保存所有的内容全退出啊。还有就是我们在一个文件打开的时候,也可以把它开成多个窗口。我们可以用小O。大O把多个文件给它分成左右上下。小欧呢,是水平,水平分割。啊,水平分割,那这个大O呢是垂直分割,那垂直呢,我们就是不是左右分屏了,哎,那小O我们来试一试,比方说我们现在用小o f1f2,你看是不是就是水平分割啊。当然上面就是第一个文件,下面就是第二个文件,那问题来了,现在我的光标在上面,我怎么回到下面去啊?那这时候我们看。
29:00
Ec键回到命令模式,按住CTRL键加W键,再按向下的方向键就跳到下面来了,要想再回去也是一样,再回到命令模式,按CTRL键加W键,松手之后按向上的关键。倒过来看了吧。这就是。方法啊,对于一个文件来讲,也可以这么分,一个文件的话呢,我们一个文件可以切,那方法是CWS是水平分割,V是啊垂直分割。随时分割一个文件,你也可以把它切平,怎么做呢?比方说我们这样,如果想水平分割,那就是CTRL。W,然后我们加上一个比方说S看到没有,哎,然后我们再可以左右CTRLWS,哎,这个敲错了,CTRLWVV是左右,V是左右,那么是不是分成了好多屏啊,刚才说了我们要想把光标调到下面或者是右边,方法就是CTRLW按向下的单键跳开来了看呢。
30:14
那你还可以取消啊,取消的话删除相邻的这些空格啊,就是这个窗口,那你可以CTRLWQQ是取消相邻的啊,CTRLW。CTRLWQ。那如果你全项取消ctrl wo就行了,O就是全取消。啊,所有窗口这个适合于就是一个文件内容比较大,你想参考这个文件的某些部分来改另外一些文件的部分的时候,可以切成多窗口。啊,尤其笔记本这个,如果你的屏幕比较大的话,用这种方式比较方便。另外VM呢,它支持寄存器,这个寄存器呢,强大在于它可以允许我们开启多个减电网。
31:07
在Windows里面默认情况下是不是只有一个剪接板?什么意思啊,就是你CTRLVCTRLC保持了一些内容以后,那这个内容是不是只能保存一份内容。你CTRLC保存了,然后如果你下次又CTRLC了,是不是原来内容就丢了。它只能复制一份,而VM里面你可以认为它相当于内置了好几个剪贴板,分别用26个字母来代表二六个剪贴板啊,比方说我们可以把不同内容切到二六个剪贴板里面,前提你记住就行了,你记到知道A这个剪贴板里边存啥?B这个剪贴板里存,哎,你看这个就是三双引号TYY 3YY实际上就是复制三行。那么中间加了一个。双引号T表示的是我把三行复制到了T这个寄存器里面。
32:06
它有26个字母,分别表示二、六个字,寄存器,所以我们用双引号加寄存器的方式就可以表示出使用哪个寄存器。啊,那么我们可以用这种方法,比方说我们复制一下,就这行吧。啊,或者我们简单一点,这让大家看的清楚啊,好,那么我把这个文件打开,现在我想把这个第一行复制到A这个寄存器里面去。那就是我们双引号。然后ay就复制了,然后接下来我想把第三行也复制到寄存器里面去,那就是双引号。假如说我们复制到C这个计算器里,就写C,然后Y。然后第六行我也想把它复制到寄存器里面去,那就是双引号。
33:02
这个ABCDEABCDEFF,然后再加一个Y,注意这时候我把一、三、六分别这三行复制到了各自的计算器里面,分别对应的是ACE,好,那现在我想贴的话呢,很简单,就是双引号。然后你想贴哪个你就写哪个,比方说我要贴C,那就写C,双引号C,然后P。看哎,我怎么把第四个给贴过来了,我是不是复制的时候不小心按了个数字啊,那我再来试一次,假如说我们现在双引号,然后我再贴个E,然后P。EE没有吗?我是的F是吧,啊F好,那我就是双引号这个呃,FP,诶可以哎可以,然后AA那行我想贴一下,那么就是双引号AP。
34:04
可以啊,不过我们好像自动就把第二行,那我是不是写了前面个二一下,后面有两行啊,后面两行。好,那这是我们用这种方法可以复制很多行啊复制很多行,那这个计算器可以用abcd有26个,所以这样的话呢,我们这个复制的话呢,就用的非常的。方便了啊。另外实际上还有10个数字的寄存器,它分别表示零是保持最近复制的内容,一表示最终删除的内容,当新的文件更新的时候,他就把一存到二,二存到三。所以实际上你删的东西它也丢不了,你可以从那个零到。九总共计九个计算器里面把它找出来啊,另外呢,这还可以实施宏定义,宏定义呢就是把当前的位置可以起名称。啊,有26个字母分别来表示,方法就是M后面跟字母。
35:00
那么把它标记完了以后呢,接着我们就开始记录这个宏,怎么记录宏呢?我们可以用这个QA来录制宏,录制宏以后他就可以进行一个啊记录就是从这个位置开始。相当于摄像机一样,就可以拍下来了,拍下来以后呢,你就可以把它你的操作记住,记住完了以后呢,你Q是可以停下来,停下以后中间这一段操作就记下来了,记下来以后你想重复的执行,那就很简单,加个AT1就可以了,它可以重复执行,那这个呢,就是给它起标记以后,你可以跳到这一行,要ma就把这个标记加了一行标记,然后用单引号A就可以跳到这一行,什么意思啊,你看说我现在在这儿,我想把这行给它起个标记,那就是ma。然后我们现在在这一行,我想跳到刚才打标记的那A那个地方,那就是单引号A就行了,大家看单引号A是不是就跳回来了,相当于留了一个标签,哎,留了一个标记是吧?哎,所以这个方法还是很实用的啊,不过呢,这些技术确实比较高端啊,你如果你实在是记不住的话,你可以先不去了解它啊。
36:16
啊,另外呢,它还支持二进制的文件修改,也可以二进制的文件修改,你看我们直接用这种方式,可以把文件用二进制的方式改了,这个有的时候我们偶尔会改文本文件,但是恋爱它主要的工作是改文本文件,事实上他也可以改二进制文件。例如我这用这样的写法,我生成一个二进制文件。我生成这样的一个文件,这个文件的内容是什么呢?就是三个零,因为这个零是指的是。阿斯格玛里面的真正的零。啊,这个零的内容从哪来呢?从六来。
37:02
写到这个文件里,这里面有三个数据。每个数据一个字节,所以三个数据生成内容就是三个零,那我们来把这个文件打开,你可以看一下它是不是三个零啊,我们把这个文件打开。你看是不是三个零,但是这三个零呢,我想把它改成。咱们的这个可见字符。我们可以改成AC,怎么改呢?当然这个文件由于它是个二进制文件啊,它不是一个文本文件,它不是一个文本文件。所以你直接VI打开,你看没有,根本就看不见那个零,因为它是二进制文件,你要把它改成文本替换了,那你就可以用这种写法。首先我们先用VI-B技能,因为杠B表示边界二一日,所以我们需要用VI。
38:05
杠B边界二进制进来以后,接着我们去借助于有一个叫叉叉D的命令,叉叉D的命令它可以用来做二进制、十进制的转换。所以我们用。百分号,百分号表示全部的文件,唉叹号表示执行的意思啊,执行命令,所以我们就在这冒号百分号,叹号叉叉D,叉叉D,它就会把二进制内容转换成16进制。看到没,转成16进制以后呢,这个前面是位置,后面这个是我们要改的东西,这个呢,就把它替换成你想改的东西,比方说我们输A键切换的插入模式,把它改成61。62大家记得六十一六十二什么东西吧?16进制的61 62 63是什么呀?是不是就是abcd字母啊。
39:01
啊,当然你要不记得了,你慢一下不就行了吗?慢啊塞,你看这边A是不是61,六十二六十三对吧?哎,这不就改改完了,改完以后呢,再回归到原来的模式,我们需要R再把它回到二进制模式,所以我们需要百分号叹号叉叉D有一个RR的回归。看到没有,这就回来了,回来以后你保存这时候呢,这个文件就被我改成了ABC了,看到没,那这就是编辑修改二进制。编辑修改二进制这个东西啊,是比较高端的技术了。啊,有些这个数据恢复。搞数据恢复的人,他们就是这么搞啊,搞的都是二进制啊,文本的东西没啥意思,都是开二进制。我们都知道,计算机底层不都是二进制,直接处理二进制。
40:04
好了,这就是我们VI的常见用法,当然我们因为时间的原因,不可能在这个命令里面讲太多啊。所以我们。啊,讲了一些基本用法,常见用法,如果你想进一步的学习,可以执行这些命令,Help help,然后呢,你也可以去查他的帮助啊,你进到VI里面可以查看他的帮助。Help,那这里面有一些帮助的用法啊,你也可以去执行。VI有一个这样的工具,这个工具呢,它是一个VI的学习软件。打开以后呢,这就是VI的说明帮助文档。甚至他打开的时候,实际上用的就是V打开的,所以如果你想练习的话,在这就可以直接练,比方说我想把这个这行给他删了,那你可以直接DD删就行了啊删,甚至可以把这个文件全部都删了。
41:06
大家知道怎么把这个文件全删了吗?是百分号D全删了,那保存一下能保存吗?如果保存的话,会不会破坏我们的帮助文档呢?他就回来了,那就是练习用的,知道吧,随便折腾,那这个就是一个VM的使用说明啊,下面这个呢,就是VM的总结啊,这是网上找的。大家可以考虑呢,把这几个图啊。是不是放在你的桌面的背景了呀,现在天天看,是不是时间长了就记住了,你要老不看肯定记不住这么多,而且还有人做了一些这个思维导图。人家都写出来了,你照着抄照着练,难道不行吗?啊,这个你们可以去网上去找,我这儿可以变大一点吧,200好像变不了太大,就这样了。
42:08
啊是这样对,慢慢练吧,啊,当然这个要求太多啊,那么实际上大家如果初期初期如果掌握不了太多,至少这个图你会吧,三种模式切换成个盘会吧,这就行了啊刚进来是命令模式,进入到插入模式,修改文件,存盘退出行三种模式掌握了VM你就可以算是算是熟悉了是吧。对外写简历的时候熟悉VM是吧,精通啊精通某个是不是就是所谓京东,就是用过用过熟悉,就是听说过,听说啊慢慢来啊。
43:08
好了,那VM我们就学这么多就行了啊,这个咱们其他的功能你要有兴趣,你可以进一步的去深入挖掘啊,然后这些应付一般的工作还是差不多了,那接下来我们继续来学习文本的其他工具,有了VIVM以后我们再也用不着别的文本编辑工具了啊,以后就用VM。好了,那接下来我们继续来看看其他文本工具。第一个是和文本的查看有关。查看用的最多的呢,是大家比较熟悉的cat。Cat命令呢,它实际上它本身是需要标准输入的,你看一回车。
44:00
你输什么,它就给你显示什么,这实际上它的默认功能,它也支持后面跟文件,后面黑文件来显示。这个CAD命令呢,还有一个非常好的功能,就是它能够在显示的时候告诉你一些不可见字符啊,比方说我这加空格,这加个太不见,你是不是肉眼根本就看不出来,我直接这么看,你看不出来吧,那我们可以加上一个A。是不是就看见了?你看六的那一行它有个空格,七的那一行有个table键,这样的话呢,有助于我们将来解解决一些这个莫名其妙的错误。有的时候呢,就是因为这一行加了不可见字符,导致你文件格式错误。哎,用这个。
45:00
这cat命令,Cat命令呢,还甚至还可以做到什么呢?还是可以做到进行一个。行号的显示。你看他可以加行号。加号号有两种加法,一个是N,一个是B。这两个好像乍一看没什么区别,实际上有区别,如果我们这有空行,那么空行它到底加不加行号,这是有区别的。小B呢,对空行它不加行号,而大N那就小N它是要加行号的啊。所以接下来还有一个呢,就是SS是什么意思呢?S是压缩相邻的空行。乘一个空行。
46:00
大家看这地方十和11是不是两个空,我们带个S以后有没有压缩掉,有它这还没压缩掉,为什么没有压缩掉,因为这个它不是空行。这个十和11,它不是纯空号。那怎么知道的呢?哎,我这应该对,忘了加这个横线了啊,我再加这横线,我把它这个连一块写啊。哎,就其实可以了,那这是有共共行,这确实是共行,你看十和11是不是压缩成一个共行啊,当然如果不是共行,它是压不动的啊,相邻的共行。它会压缩成一个就是S啊用法。还有一个叫NL的NL呢,它相当于CTRLT加B,就是加行号嘛。NLNL呢?大家看到NL是不是想起了LN呢?
47:03
LN是不是创建硬链接软链接的,它反着写的嘛,NL啊,当然你也可以认为是number line是吧,给行加行号,然后接着我们看t ec t ec是什么东西啊,T ec是不是我们把CT的反着写的。那反着写到底有啥用呢?那他就倒着呗,那你看我们这,你看看他有什么效果啊TC。是不是把最后一行放到最上面去了,最上面一行放到最下面去对调了是吧?这个我以前看过一个很老的电影啊,电视剧叫包公。包公啊,很早以前很早以前演的,估计我看的时候那个那个电影你们还没出生呢,有很多啊,特别老那个包公当时。
48:08
呃,在进京赶考的时候认这有一个这个这个就浮夸子弟吧,家里很有钱,但啥都不会,然后竟竟然还要去进京赶考。啊,他可能家有钱,能能够获取一个功名吧,然后大家在一块聚会的时候,这个普卡子弟就写了一首诗,啊,这个诗很通俗易懂,我们现在都能。看懂写的什么呢?就是远看宝塔黑乎乎是吧啊顶上顶上细来底下粗,有朝一日倒过来顶上出来是顶下戏来顶上粗啊,哎,是不是很很好的一首诗,好诗是吧?哎,这个就是T是吧,TC就是这个这个诗啊,就是包公啊,你们看的那个包公是那个什么台湾那个包公啊,那个什么展昭啊,那那那个那那个是后来了,我看的这个是很早以前的那个,嗯,很早以前的老老电影。
49:22
好,晓峰是谁呀?宋晓峰是谁呀?不认识呀。认识啊,这网上搜索这个宋晓峰是谁呀。是,是搞什么的,宋晓东同学。失神失神呀,啊不是食神是吧,食神啊好了,那接下来咱们继续啊,继续我们刚才给大家说了一下这个best。
50:26
啊TC啊TCTC是反过来,事实上TC还有一个强大的功能,就是它本身就是支持标准输入的,而且输完以后。自动给你转换了。还是男演员流星歌手啊,不认识啊,不知道这个人是不是贴张照片也许就认识了,这现在这个艺人太多了啊,艺人太多了,这个对不上是吧?好,那TC有个功能,就是它支持标准输入,既然如此,我们是不是就可以诶有这样的一个功能了,是不是我们就用TC给他反看见没是吧,这不有朝一日倒过来了吗?啊,嗯,倒过来。
51:37
你们都认识的这些人都是高端人士,我都不不知道啊,什么赵四啊,海柱啊,这都谁呀,这是这这个这都是什么人物啊啊咱们咱们有代沟了啊,我也不认识,有阿俊这个诗写的好啊,是吧,阿俊。
52:15
说明你阿俊没有得到,你得到了你就不是不知道什么鬼了,你是没有得到了是吧?好,那这是TC啊,那和TC和它有点像的,有一个叫rev的,Rev什么意思呢?你看着我就知道了,看没。那这个TC是把不同的行反过来,而为是同一行反过来啊,所以我们也可以这么搞,而且其实标准输入,那我们是不是就可以这么搞了。那我们将来可以这么玩。
53:11
看到吗?所以需要的时候我们可以把它转过来啊。当然你可以再转回去去,你还可以多次转。是吧,转过来转过去。好,这是刚才我们给大家说的rev这些命令啊,这些命令啊,现在大家先有印象,那我们用到的时候,你就会发现,哎呀,这个东西好啊,方便呀,哎,方便。还有就是二进制的查看工具啊,这个工具呢,我们用过C。把文本把这个要看的时候,后面跟着这个文件以16进制方式来显示。
54:00
N呢,512就是是显示它的前512字集。啊,那最终就看到了这个结果。同样,这个命令它也支持标准输入,也支持管道重定向,所以它也可以把这些字符给你转换成这种形式。啊,把这个abcd转化成16进制啊,它也可以。OD也可以OD命令呢,类似你看他也可以这么干。这个可以把它转换成这个16进制。啊。那ABCD1直到Z。这都可以转换。还有叉叉D,刚才我们不是用过了吗?哎,这个也可以做到,你看叉叉D也可以,我们来执行一下看看效果。那那就这样的一个结果。所以这些命令呢,都是很有意思的命令啊。将来你们有时间可以来试一试。
55:07
好,还有就是我们可以查看。文件的内容,但是分页显示,因为TD命令啊,去查看文件的时候,它是把所有内容全给你显示出来。这样的话呢,你要看前面内容,你还得再去人力往上翻。我们可以自动分页显示,有一个more和less,这两个都可以。Less用的比较多,它达到一二就停下来,More的话呢,就是虽然达到一二会停下来,你也可以空格往下翻,但是翻到底它就直接退出了,所以你想返回来,返不回来了,所以如果我们想返回来,我还想再往回翻,一般用比较多,Nice,你看翻到底它也不退出来,你还可以继续pick up down,上下翻页。它可以用斜杠搜索,比方说我们去搜一个关键字,你看IP找到了,实际上大家注意到慢命令用的实际上就是。
56:05
Less,那命令打开帮助的时候,它用的实际上就是基于less实现。嗯。Lesss和Mo呢?它还可以支持标准输入的重定向,所以如果我们把一个命令的执行结果想分页显示,比方说我们跟R这个文件是不是会非常多,对不对?我们可以分页显示less就可以了,看到没?你也可以用Mo非二显示,达到一就停下来,知道吗?Q是退出啊,这就是这个less和more。还有几个非常重要的工具,一个呢叫head head呢就是头对应的,还有一个叫尾,尾呢就是T,一个头,一个尾,那这个头和尾是干嘛的呢?就是显示文件的前几行和后几行,默认是前十行,大家看这就是前十行,也可以约定前几行,比方说我们约定前三行。
57:11
2000。啊,它还可以显示前几个字符,比方说前三个字符,这时候它挑的是前三个字符,所以从这找是不是找到前三个。嗯,那我们如果是汉字的话,他比方说马哥教育,马哥教育这是汉字啊,那么这个它的前三个是什么,我们也可以用had c。是马还是马哥叫马,那说明什么呢?他取的并不是三个字符,而是三个字节,理解了吧,它取的是前三个字节,因为一个码字它要占三个字节,知道吧,哎,它是这样的,所以这就是C啊C。
58:09
然后这边还有几个比较有用的写法,就是这个是呃。这个写法。我们还可以跟复数。这有一个总结啊,我记得这个有个总结这个复数。这我们还可以跟复数。加的和减的。啊,加的和减的跟负数。跟负数的话呢,带来的结果就不一样了啊,就不一样了,比方说我们这儿可以加一个负极。例如我们这写个十,把这个文件写上这十个。内容,那我们用。
59:02
三显而易见就是前三行了,但是如果我们这写的是负三。发现了吗?负三,负三成了什么了?就是把最后的三行。之前的内容留下来了啊,就是倒数三行不要了,倒数三行不要了,所以这个写法也比较有用啊。啊,大家记得我们曾经说过一个。用法叫you。然后这个命令呢,会输出很多乱随机字符,后来我们讲了一个方法,可以把一些可见字符留下。
60:02
比方说,我们曾经写过一个叫阿8NUMBER的阿法number是不是就是字母加数字?DC呢,是删了除了字母数字以外的其他符号。我们只要填几个是不是用这个写法,这个写法用来干嘛的,生成随机口令。面试题经常有问这个题的啊,就是让你创建个账号,你把这个口令给我设个12个字随机字符,这就可以做了。拿这个就可以当随机口令。啊,一。这不就C吗?PA-C。啊,我看同学们,好多同学只看,然后也没有意思,难道这不是面试题吗?难道不是面试宝典里面应该记的东西吗?对吧?等你最后学完了,你咋知道哪块面试重点,你去的时候如果你准备的不充分。
61:06
是不是就失去了好多去大厂的机会啊啊,阿里看你帅,想要你,结果你水平不行啊。就失去了一些机会,所以大家还是要针对性的提前做好准备。你们面试的时候。一方面呢,要群发邮件,群发简历投海投,但另一方面,如果你光是海投,每次面试都失败。给你自己也是一个信心的打击,同时也失去了好多机会,所以我觉得是这样的,一方面呢,你们要做好充分的准备。真是每一次面试机会。啊,不要说我,反正是我就也不准备就面试啊,碰上哪家算哪家。
62:01
你这你成功率很低呀。所以建议大家学完了课程以后。抽一段时间,比方说你花个半个月的时间好好的复习复习,把这些面试宝典背的滚瓜烂熟,然后再去投简历,投一家,诶,你面试个两家你就有经验了,再加上你做了比较充分的准备之后,你的成功率就非常高。你别闷头就找工作是吧,有同学还课还没学完就找工作去了,你这个复习的不好,你说实在的,人家给你面试问你啥啥不会,你说你这不也没啥意思吗?大老远跑过去是吧,面试不成功就白折腾嘛,所以建议大家还是要一定要做好充分准备,不要浪费每一次面试的机会啊。但昨天我发的那个消息,那个同学就是面试,他本身就学的很好,而且他现在还每天都晚上,你看一两点了跟我聊天呢,还在那复习呢。
63:04
那现在手上好几个offer,现在就非常啊非常痛苦啊,痛苦不知道该选哪家。是吧,他现在面面临的不是说选选这个工资高低,他要选一个他喜欢的公司啊,拼多多都面试他了,现在对他印象都非常好,他已经有的面试已经达到第四轮了,进入到第四轮面试了,前面闯关都成功了,能进到第四轮这种公司一般都是比较好的公司了,一般大公司才会多轮面试,小公司一轮去了就行了,你就直接来就行了。啊,那这个同学应该还说比较下工夫。他的年龄才多大呀,你们猜猜24岁,24岁,而且他初期的时候原来是在单位里面,原来做公务员的,也没啥什么,这个这个计算机的底子,就是公务员混了一年觉得没意思,现在出来想闯荡江湖了,24岁,所以还得下工夫啊,下功。
64:27
当然,这个同学本身天资就好,他好像是211还是985学校毕业的啊,他这个聪明,本身聪明,再加上愿意下工夫,这就比不了了。是吧?好了,那除了刚才说的这个pad,还有TRTR呢是相反,只看文件的后几行,只看文件的后几行。
65:03
那比方说我们还是默认,当然这个文件只有十行,那我们给他多写点,这里面有20行,大家看它是不是只是默认显示最后的十行,我也可以指定前后几行,比方说我们就三行,就是最后三行,它也支持负数,如果是负三。前面。好像没啥变化是吧,哎,那我们就写正三。真的不一样对吧,正三啊,你你看一下我们这个文件啥样啊,这不一到20行吗?你看它这个正三,正三是从第三行往后是不是全要。嗯。
66:06
哎,那现在我有一个思考,我想把这个命令的第二行找出来,请问大家有没有办法?怎么做?我只要第二行,我们可以这么做。先用head取前两行,再取head的T最后一行。对吧,当然我是不是也可以用T。来个家。第二行。然后再来一个害的第一行。是不是也可以啊?方法有多种,希望大家多掌握一些。
67:00
啊,昨天我跟他聊天就说了。他问问题的时候,人家问他一个问题,他准备好几个答案。啊,并不是说一个答案,他是知道好几个答案他都给你说。所以人家对他的这个印象特别好,说明他这个技术很强是吧,一般人答出一个答案来就不错了,结果他给你说三个答案。所以你们面试的时候也尽可能的。能够展现出你们的技术风采是吧?把自己知道的东西尽可能让对方知道。你不要光完成目标就行了。好,T命令还有一个非常重要的选项。F选项,这个选项相当有意义。它的作用就是跟踪一个文件的变化。咱们系统中啊,经常会发生一些事儿,发生的事呢,往往会记录在日志里面,你像这个文件就是我们操系统。
68:07
应用程序发生的主要的操作事件都会记录在这个文件里,只要你发生事件,它就会记录。比方说我现在如果插一个U盘。它就会自动的在这个文件里记录下来。啊,插一个装什么软件之类的都会记录。那问题是我怎么知道这个日志变了呢?诶有一个方法就是T-F-F就是跟踪这个文件的最新信息,他就看你这个文件的后面是不是加了新内容。当然加新内容的话呢,我们只想看最后一个新加内容,旧的内容不看,因为默认它就给你显示最后十行,我想只看最新增加内容,我们可以这么来写。N0是不是就是只看最新的东西,旧东西不看了,那我们来看一下,当我们的事件发生之后,能不能在这看到呢?
69:09
那我们就来试一试。我在这打开一个新窗口,我再让它发生一件新的事情,那比方说我们装个软件之类的,或者重启什么服务之类的。哎,你看实际上大家发现没有,这已经有记录了,发现了吗?是不是我开了个新窗口,它这有信息发生发现了。对吧,新的事件发生了。啊,比方说我们这边。这个建一些这个信息啊,例如我装个软件吧,装个软件啊,我去装随便装一个软件装软件。呀,我这个这个软件那个路径对不上,所以他这个样装不上去了。
70:00
哎,我这个改过不是吗。我那光盘路径找不着了,那我就走宝的路径吧,这个是这个路径导致的。前面是不是删错了,不应该删这个。好,那我就改这两行再装,哎,这应该可以了。这个我们后面会讲啊,这是软件安装的一个配置。嗯。大家看着左边这个窗口是不是有新的变化?加上新的东西以后,它有没有新的日信息出现,看见没?有了吧,这是不是提醒我们说有些软件发生了变化,更新了一些什么帮助之类的。
71:05
啊,这就是通过这种方式可以跟踪一个文件的更新。不过呢,这个杠F呢,它跟踪的时候,跟踪的时候,比方说我们有一个文件叫F1文件,这个跟踪这个文件,如果这个F1文件我再往里追加东西,比方说哈,我在追加,注意大于号追加,你看他是不是能看见这个文件再增加新东西了。那如果我把这个文件删了。然后我这个文件都删了,这边跟踪它也没断。然后我们现在呢,去再往里写东西,你看就没反应了,为什么呢?因为这个跟踪它跟踪的是并不是文件的名称。而跟踪的是文件的描述符。在系统中我们曾经提到过,系统每打开一个文件,系统会分配一个文件描述符啊,所以我们用PID of可以查到TR这个命令,它对应的进程编号,查它的FD。
72:14
看这里面,这不就这个文件已经被我删了吗?红的看到没?它跟踪的是文件描述,那么还有一个跟踪的叫大F,大F它跟踪的是文件名,只要文件名在它就跟踪,所以你看如果我现在在文件的后面追加东西,它也能看到,比方说HELLO2啊,有,但是有一个问题,如果我把这个文件删了,没了。大F是跟踪文件名的,文件名没了,是不是他就开始报错了?对吧,当然没关系,我们只需要把这个文件再创建出来,它又可以接着跟踪了,看到没有,他又开始跟踪了,然后你看这里面我们再加东西,比方说来个二是吧三。
73:02
看明白了吗?所以大F小F不一样。嗯。啊,有的时候面试也会偶尔问到这样的一个细节啊,实际上好多问题呢,都是细节,人和人差别都在插在一个一个的细节上。你每个细节都不如别人好,整体上就差了一大截。所以我们要从细节入手。不放过每一个重要的细节啊。T2-F,这个和这个小F是等价的,有一个命令叫T2-F。好,这个命令呢,这是刚才的总结哦。这个总结看了吧,这就是had。加这个负数T加正数它的区别。啊。好,那我们对文本文件呢,已经做了一些查看,不过目前来讲呢,我们看到的都是文件的整体内容。
74:03
那我们能不能在文件中抽取出部分内容?比方说,挑出特定列。挑出特定的行呢,也是可以的,不过这部内容很重要,所以我们休息一会再说啊,重要内容咱们下次课再讲,休息。
我来说两句