vim编辑器

Posted 武云医生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim编辑器相关的知识,希望对你有一定的参考价值。

(一)vim的三种模式:

(1)命令模式:vim file //进入命令模式




(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-->50 G



⑥: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:将别的文件导入到本编辑器中

vim a

: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:连续注释多行

vim a

:1,40s/^/#/g //1,40s,表示起始行和终止行的意思,^表示起始行的意思,#表示要增加的内容,g表示不需要被确认




(7)演示7:连续取消多行的注释

vim a

:1,40s/#//g //1,40s,表示起始行和终止行的意思,#表示被替换的内容,//中间没有写东西表示是空的,g表示不需要被确认




(8)演示8:只连续取消行首的#,因为有的#是写在中间位置的,但只需要把行首的给去掉

vim a

: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编辑器的主要内容,如果未能解决你的问题,请参考以下文章

如何让vim编辑器永久显示行号和命令大全

Vim编辑器的基本使用和多行缩进

linux系统怎么安装vim编辑器

Linux系统 vi/vim文本编辑器

第4章 文本编辑器Vim

2023.5.27 linux系统VIM编辑