前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux vim编辑器之常用指令

linux vim编辑器之常用指令

作者头像
我是李超人
发布2020-08-20 17:03:07
4940
发布2020-08-20 17:03:07
举报

- 移动光标

1.h,j,k,l分别对应←,↓,↑,→。所以向下移动30行可以使用30j或者30↓

2.PageUp,PageDown对应向上,向下移动一页

3.n+空格键 表示光标向后移动n个字符距离

4.0或者home表示移动这一行最前面字符处,$或者end表示移动到这一行最后面字符处

5.H,M,L分别对应光标移动到这个屏幕的最上方,中央,最下方那一行的第一个字符处

6.G移动到这个文件的最后一行

7.nG,光标移动到这个文件的第n行

8.gg,光标移动到这个文件的第一行,相当于1G

9.n加enter键,光标向下移动n行

- 查找替换

1./word,?Word,分别对应向下,向上寻找一个名称为word的字符串

2.n,N 分别对应重复前一个查找操作和反向查找。比如使用/lala,表示向下
查找lala这个字符串,按n则表示重复向下查找,而按N则表示向上查找。

3.:n1,n2s/word1/word2/g   n1,n2为数字,表示在n1行和n2行之间查找
word1这个字符串,并将word1替换成word2这个字符串

4.:1,$s/word1/word2/g   从第一行到最后一行之间查找word1这个字符,并
将word1字符替换成word2这个字符

5.:n1,n2ss/word1/word2/gc   从第n1行到n2行之间查找word1这个字符,并
将word1字符替换成word2这个字符,且在替换之前显示提示字符给用户确认
(confirm)是否需要替换

- 删除复制粘贴

1.x,X  在一行字当中,x为向后删除一行(相当于delete键),X为向前删除一
个字符(相当于backspace键),nx 连续向后删除n个字符,nX连续向前删除n个
字符

2.dd 删除光标所在的那一整行,并将该行复制下来,通常会结合p一起使用,使
用ddp可以将一整行移动到其它的位置。ndd删除光标所在向下n行,并将该n行复
制下来,也可以结合p将该n行粘贴在其它位置

3.d1G,dG,d$,d0  分别对应删除光标所在到第一行的所有数据,删除光标所
在到最后一行的所有数据(dG可以结合p来将该文件全部数据复制下来,不过这种
全部复制会删除该文件所有的数据,可以使用u将该文件恢复到原来的样子,再用p
将数据粘贴到其它文件中,后面会写一篇多窗口,多文本编辑的文章,和这些指令
结合起来使用相当的方便),删除从光标所在处到该行最后一个位置,删除从光标
所在处到该行最前面的一个字符

4.yy,nyy,y1G,yG,y0,y$  分别对应复制光标所在那一行,复制光标向下n
行,复制光标所在行到第一行的所有数据,复制光标所在行到最后一行的所有数
据,复制光标所在处到改行行首的所有数据,复制光标所在处到改行行尾的所有数
据

5.p,P  字母p为粘贴操作,小写的p将复制的数据从光标所在行下一行开始粘
贴,大写的P将复制的数据从光标所在行上一行开始粘贴。p或者P经常会结合dd,
yy等操作一起使用

6.J 将光标所在行与下一行的数据结合成一行

7.u 复原到前一个状态

8.Ctrl加r 复原到后一个状态,Ctrl+r指令可以说和u是反着来的。举个例子:
现在有一个文件里面的内容是四行字符串如下
One
Two
Three
Four
我现在使用dd指令分别按顺序删除One,Two,Three三行。假设删除One时文件状
态为1,删除Two时文件状态是2,删除Three时文件状态是3。现在文件是状态3,
这个文本只剩下Four这个字符串了,此时我连续按下两次u,则会按顺序先恢复到
状态2,在恢复到状态1。现在文件是状态1有三行内容Two,Three,Four。此时
我再按下Ctrl+r组合键,文件会恢复到后一个状态也就是状态2,文件内容
是Three,Four这两行字符串。若又按下u文件又恢复到了状态1了。可以看出
来Ctrl+r和u这两个指令就是互为反操作

9.. 这是一个小数点,这个指令是重复前一个操作的意思,其实重复操作一个指
令就可以了,没必要记住这个指令。

- 一般模式切换到编辑模式

1.i,I 进入到插入模式,i为从目前光标处插入,I为目前所在行第一个非空格字
符处开始插入

2.a,A 进入到插入模式,a为从目前光标所在的下一个字符处开始插入,A为光标
所在行最后一个字符处开始插入

3.o,O 进入到插入模式,o光标目前所在行下一行开辟新的一行开始插入,O光标
目前所在行上一行开辟新的一行开始插入

r,R  进入替换模式,r只会替换光标所在的那个字符一次。R会一直替换光标所
在的字符,直到按下esc为止

- 一般模式切换到命令行模式

1.:w,:w!,:q,:q! 分别对应数据写入硬盘(就是保存,不过这种保存因为没
有退出,还是可以使用u来恢复),数据强制写入(能不能强制跟文件权限有
关),退出vim,强制退出(文件有修改,退出时会要求是否保存,使用q!可以强
制不保存退出)

2.:wq  保存退出文件

3.:w[filename] 将编辑的数据保存为另一个文件(另存为)

4.:r[filename] 在编辑数据时,读入另一个文件的数据,即将”filename”这
个文件内容加到光标所在行后面

5.n1,n2 w [filename] 将n1到n2之间的内容保存在”filename”这个文件中

6.:! command 暂时离开vim到命令行模式下执行其它的指令。比如我在编辑文件
的时候想要显示当前目录下的文件有哪些,可以执行”:! ll .”  即可以暂时离
开vim模式查看该文件所在目录目前有哪些文件,再随便按任意键即可以回到vim
模式

7.:set nu   :set nonu  分别表示显示行号和不显示行号

以上这些是vim的一些常用指令,会了这些指令你会发现vim非常好使,这些指令还是有些规律的,复制yy,粘贴p,替换r,删除dd,再和数字相结合就会出现多行操作的效果,还有一些大小写不同就会出现在不同位置操作的效果,多使用几次就记下来了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档