Linux中vi的命令行模式、编辑模式和末行模式及常用操作

版权声明:原创的文章须经过我同意之后才能转载哦 https://blog.csdn.net/qq_41809589/article/details/86436601

先说一下编辑文档中的移动光标,l(相当于→),h(相当于←),j(相当于↓),k(相当于↑),当然也可以直接用方向键,不记字母也是阔以滴,但在要多次使用时还是记住字母方便(比如:100l,向右移动100次)。
命令行模式】(有地方也被称为普通模式)
这是打开一个文档直接进的模式,一般可以完成选定、复制、剪切(删除)、恢复和撤销等操作。先介绍基本操作,nG将光标直接定位到第n行,G定位到尾行,u是撤销,.是重做(就一个点)。
选定:相当于Windows中的alt+鼠标,在Linux命令行模式中按ctrl+v,再通过上下左右来选定矩形块。一般选定后做复制或剪切等操作。
复制:nyy是ctrl+c从当前行开始向下数n行,包括当前行;yG是ctrl+c从当前行到文档尾;y1G是ctrl+c从当前行到第一行。
剪切/删除:dd是ctrl+x当前一行,ndd是ctrl+x从当前行开始向下数n行,包括当前行;dG是ctrl+x从当前行到尾行;d1G是ctrl+x从当前行到首行。
粘贴:P是ctrl+v到当前光标所在行上面一行,p是ctrl+v到当前光标所在行下面一行。
(插播一个例题,顺便介绍删除字符)
{例题:第2行从第3个字符开始删除4个字符的操作。
操作流程:输入2G(光标定位),输入2l(向右移两次),输入4x。
nx从当前字符开始向后删除n个字符,包括当前;nX与nx不同的只是不包括当前。}
编辑模式】(又称文本输入模式)
在此模式下用户可以自由输入文本,没有什么需要记的操作。
末行模式
由命令行模式输入‘:’进入,有较多的操作。由于使用这些命令时通常由命令行模式进入该模式下使用,下面在命令前都加上‘:’。
搜索单词::/word(从光标处向下搜索),:?word(从光标处向上搜索),在查看中n移向下一个word,N移向上一个word。
替换:把a替换为b,:%s /a/b/gc=:1,$s /a/b/gc(有g是全文档替换,没有只替换当前行首个;有c就有挨个询问是否替换当前的,没有就不询问直接换)。{(例题)只把2到5行的a替换成b。操作::2,5s /a/b/gc}。对于是否区分大小写,在替换前输入":set ic"就不区分大小写,输入":set noic"就区分大小写,默认区分。
显示当前用户名: :!whoami=:!echo $User。
复制:如::a,b co c,把a到b行复制到第c行。
删除:如::a,b d ,把a到b行删除。
在文档尾部显示时间:先在命令行模式中G,后:r!date。
保存与另存为::w直接保存;:w /路径/另存为的名称,是另存为。
暂时离开::sh能暂时跳出文档的编辑,exit退回来。
退出::q不修改文档的退出;:q!修改后不保存强制退出;:e!不保存改动不退出;:wq保存退出;:wq!对没有写权限的root和文档所有者强制写入退出。
多窗口编辑::sp,多用于长文档,两个窗口对一个文档编辑,此时:q一次只能退出一个。
多文档编辑:vim a文档 b文档,就是打开是就同时开两个。:n下一个文档,:N上一个文档。在两个文档都保存下一个:q就可退出。两文档编辑时ctrl+w,k,↑都可以移到上个文档,j,↓都可以移到下个文档。:files查看当前编辑文档。
三种模式的切换
首先进入命令行模式,按i进入编辑模式,在光标位置不动,在光标前可插入,一般都用i,记住这个就够用了(还有其它进入方法:I行首插入,a光标后追加,A行尾追加,r替换选定字符,R替换一行,O当前行上一行插入空白行,o当前行下一行插入空白行);在文本编辑模式只能返回命令行模式,按Esc返回;在命令行模式进末行模式按":"就可以,在上面已经说过了;在末行模式退回命令行模式就用上面详细讲过的wq。

猜你喜欢

转载自blog.csdn.net/qq_41809589/article/details/86436601