相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述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编辑器】
推荐阅读
- 递归及相关习题
- shell脚本之if条件测试语句
- Linux 学习 16
- 通过挂载镜像来重置windows server 2016的系统管理员密码
- 如何在EasyDSS内调用的iframe地址设置自动播放()
- PostgreSQL一键安装入门教程
- EasyNVR通过在线状态搜索条件搜索通道出现数据不正确的问题解决
- 第一个鸿蒙工程-Java版(含模拟器创建)
- H265流媒体播放器EasyPlayer如何设置视频关闭播放()