vim编辑器

相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述vim编辑器相关的知识,希望能为你提供帮助。
(一)vim的三种模式:
(1)命令模式:vimfile//进入命令模式






(2)插入模式:输入“a”“o”“i”,这三个字符中的任意一个都可以进入插入模式,按特定字符会执行编辑的相关命令






(3)编辑模式:在插入模式下按“esc”回到编辑模式,在命令模式下输入“: 后面带命令”比如:set number,显示行号






(二)常用操作:{都是在命令模式下完成}
(1)插入命令:不是输入“:+命令”而是直接打开文件就直接输入比如“a”
①a:在光标所在的字符后插入




②A:在光标所在的行尾插入




③i:在光标所在的字符前插入




④I:在光标所在的行行首插入




⑤o:在光标下插入新行




⑥O:在光标上插入新行






(2)定位命令:
①:set number:设置行号




②:set nonu:取消行号




③gg:到第一行




④GG:到最后一行




⑤nG:到第n行,先按行数,在按大写的“G”,跳到50--> 50G




⑥:n:到第n行




⑦$:移至行尾




⑧0:移至行首






(3)删除命令:
①x:删除光标所在处字符




②nx:删除光标所在处后n个字符,{先按数字,在按x,比如6 x,删除6个字符}




③dd:删除光标所在行,ndd删除n行,{删除2行,2dd,删除光标所在的2行}




④dG:删除光标所在行到文件末尾内容




⑤D:删除光标所在处到行尾内容




⑥:n1,n2d删除指定范围的行,{:20,30d}






(4)复制和剪切:
①yy:复制当前行




②nyy:复制当前以下n行,{比如复制当前光标以下3行,“3yy”就是复制光标行和光标以下2行,总计3行}




③dd:剪切当前行




④ndd:剪切当前行以下n行




⑤p,P:粘贴在当前光标所在行下{p},行上{P}






(5)替换和取消:
①r:取代光标所在处字符,{先按r,在按要修改成那个字符,比如将光标所在处的5替换为6,那就是先按“r”在按6}




②R:从光标所在处开始替换字符,esc结束




③u:取消上一步的操作






(6)搜索和替换:
①/string:搜索指定字符串,搜索时忽略大小写:set ic ;比如搜索“/sara”这个字符串,输入n继续寻找下一个




②n:搜索指定字符串的下一个出现的位置




③::%s/old/new/g:全文替换指定字符串
%s:表示全文替换
g:询问不确认,如果换成c,是会询问确认的




④::n1,n2s/old/new/g:在一定范围内替换指定字符串;{n1,n2s表示起始行和终止行}
43,44s/sara/wuyun/g






(7)保存和退出:
①::w保存




②::w new-file:另存为新的文件{w /root/test将文件另存为在/root下的test}




③::wq保存并退出




④:ZZ快捷键,保存修改并退出




⑤::q!不保存修改退出




⑥::wq!保存修改并退出,只有root和文件的所有者才可以使用{场景是有时候可能自己没有写权限}








(三)vim技巧:
(1)演示1:将别的文件导入到本编辑器中
vima
:r{文件名}






(2)演示2:不退出vim的情况下,搜索命令的路径
vim a
:!which ls






(3)演示3:导入当前的时间
vim a
:r !date






(4)演示4:自定义快键
vim a
:map ^P I#< ESC> {回到行首并且插入#}//ctrl vp,一起按;或者先按ctrl v在按ctrl p,定义的快捷键就是ctrl p






(5)演示5:删除注释
vim a
:map ^B 0x//取消“注释”就是删除开头的第一个#//ctrl vb一起按; 或者先按ctrl v在按ctrl b,定义的快捷键就是ctrl b






(6)演示6:连续注释多行
vima
:1,40s/^/#/g//1,40s,表示起始行和终止行的意思,^表示起始行的意思,#表示要增加的内容,g表示不需要被确认






(7)演示7:连续取消多行的注释
vima
:1,40s/#//g//1,40s,表示起始行和终止行的意思,#表示被替换的内容,//中间没有写东西表示是空的,g表示不需要被确认






(8)演示8:只连续取消行首的#,因为有的#是写在中间位置的,但只需要把行首的给去掉
vima
:1,40s/^#//g//1,40s,表示起始行和终止行的意思,^表示起始行的意思,#表示要被替换的内容,//中间没有写东西表示是空的,g表示不需要被确认






(9)演示9:给1-40行的头部增加两个“//”
:1,40s/^/\\/\\/g//1,40s,表示起始行和终止行的意思,^表示起始行的意思,/表示要增加的内容,\\是转义符表示后面是一个字符不是一个命令,不然vim不认识这种命令,g表示不需要被确认






(10)演示10:vim的快捷键重启之后就会消失,那就需要保存到家目录的.vimrc下,永久生效,别的都是保存在自己的/home/目录下
vim /root/.vimrc
set number
map ^p I#< ESC>


























【vim编辑器】


    推荐阅读