vi和vim的常用命令

x33g5p2x  于2022-06-06 转载在 其他  
字(1.3k)|赞(0)|评价(0)|浏览(410)

一般指令模式可用的按钮说明

移动光标的方法

ctrl + f : 屏幕【向下】移动一页,相当于Page Down
ctrl + b : 屏幕【向下】移动一页,相当于Page Up
0 或者 Home键: 移动到当前行最前面的字符处
$ 或者 End键:移动到当前行最后面的字符处
gg:移动到这个文件的第一行
G:移动到这个文件的最后一行
nG:n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20列
n<Enter>:n为数字。光标向下移动n行

搜寻与取代

/xxx向光标之下寻找一个名称为xxx的字符串。例如要在文件内搜寻coderzpw这个字符串,就输入/coderzpw即可!
?xxx向光标之上寻找一个名称为xxx的字符串
:n1,n2s/word1/word2/g:n1和n2为数字。在n1和n2之间寻找word1这个字符串,并将该字符取代为word2.
:1,$s/word1/word2/g:在第一列和最后一列之间寻找word1这个字符串,并将该字符取代为word2.
:1,$s/word1/word2/gc:在第一列和最后一列之间寻找word1这个字符串,并将该字符取代为word2。且在取代前显示提示字符给用户确认(confirm)是否需要取代!

删除、复制和粘贴

x,X:在一列字当中,x为向后删除一个字符(相当于【del】键),X为向前删除一个字符(相当于【backspace】亦即是退格键)
nx:n为数字,连续向后删除n个字符
dd:删除游标所在的一整行
ndd:n为数字,删除游标所在的向下n行
yy:复制游标所在的一整行
nyy:n为数字,复制游标所在的向下n行
p,P:p为将已复制的数据在光标下一列标上,P则为贴在游标上一列。
u:还原前一个动作
ctrl + r:重做上一个动作

其他指令

:set nu:在vi中显示行号

一般模式切换 到 编辑模式的相关按钮

进入插入或取代的编辑模式

i,I:进入插入模式:i为【从目前光标处插入】I为【在目前所行的第一个非空格字符处开始插入】
a,A:进入插入模式:a为【从目前光标所在的下一个字符处开始插入】A为【从光标所在行的最后一个字符处开始插入】
o,O:进入插入模式:o为【从目前光标所在的下一行处插入新的一行】O为【在目前光标所在的上一行处插入新的一行】
r,R:进入插入模式:r只会取代光标所在的那一个字符一次R会一直取代光标所在的文字,直到按下ESC为止
ESC:退出编辑模式,回到一般指令模式中

一般模式切换 到 指令模式的相关按钮

指令模式的存储、离开等指令

:w:将编辑的数据写入硬盘文件中
:w!:若文件属性为只读时,强制写入该文件。不过到底能不能写入,还是跟你对该文件的文件权限有关
:q:离开vi
:q!:若曾修改过文件,又不想储存,使用!为强制离开不存储文件
:wq:储存后离开,若为:wq!则为强制储存后离开
ZZ:这是大写的Z,即你输入shift+zz。若文件没有更动,则不储存离开,若文件已经被更动过,则存储后离开
:w filename:将编辑的数据存储成另一个文件(类似于另存为

相关文章