1.移动光标
h或者向左方向键
光标向左移动一个字符
l或者向右方向键
光标向右移动一个字符
k或者向上方向键
光标向上移动一个字符
j或者向下方向键
光标向下移动一个字符
【Ctrl】+f
屏幕“向下”移动一页,相当于【PageDown】
【Ctrl】+b
屏幕“向上”移动一页,相当于【PageUp】
0
数字0,移动到这一行的最前面一个字符处
$
移动到这一行的最后一个字符处
G
移动到这个文件的最后一行
gg
移动到这个文件的第一行
n【Enter】
n是一个数字,光标向下移动n行
2.搜索与替换
/str
从光标开始,向下寻找一个名为str的字符串
?str
从光标开始,向上寻找一个名为str的字符串
:n1,n2s/str1/str2/g
n1与n2为数字,在第n1行与n2行之间寻找str1这个字符串,并将该字符串替换成str2
:1,$s/str1/str2/g
从第一行到最后一行寻找str1字符串,并将该字符串替换为str2
:1,$s/str1/str2/gc
从第一行到最后一行寻找str1字符串,并将该字符串替换为str2,且在替换前提示符给用户确认 是否需要替换
3.删除、复制与黏贴
x,X
x为向后删除一个字符,X为向前删除一个字符
nx
n为数字,为连续向后删除n个字符
dd
删除光标所在的那一整行
ndd
为数字,从光标位置开始,删除向下n列,如20dd则是删除20列。
yy
复制光标所在的那一行
复制当前光标所在的位置到行尾:y$
复制当前光标所在的位置到行首:y^
nyy
n为数字,复制光标所在的向下n行,如20yy则是复制20行(包括光标所在行)
p,P
p为将复制的数据粘贴到光标的下一行,P则为粘在光标的上一行。
u
复原前一个操作
【Ctrl】+r
重做上一个操作
.
小数点,重复前一个动作,常用在重复删除、重复粘贴。
4.插入模式
i,I
插入:在当前光标所在处插入输入文字,已存在的文字会向后退,其中i为从当前光标所在位置前开始插入,I将光标移到当前 行的行首,然后开始插入。
a,A
a为从当前光标所在的下一个字符开始插入,A为从光标所在行的 最后一个字符处开始插入
o,O
这是英文字母o的大小写,o为在当前光标所在的下一行插入新的 一行,O为在当前光标所在处的上一行插入新的一行。
r,R
r为替换光标所在的那一个字符;R会一直替换光标所在的 文字,直到安下【Esc】键为止。
5.文件操作相关
在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;
若当前编辑的文件没被修改过,则Vi直接退出, 返回到shell。
:w
保存文件
:w filename
另存为filename
:wq!
保存并退出
:wq! filename
以filename为文件名保存后退出
:q!
不保存退出
:x
保存并退出,功能和:wq!相同
:n1,n2 w filename!
将n1行到n2行的内容保存到filename中
:n w filename
将第n行保存到filename中
:l,. w filename
将从第一行起到光标当前位置的内容保存到 filename中
:.,$ w filename
将从光标当前位置到文件结束的内容保存到 filename中
:r filename
打开另外一个文件filename
:e filename
编辑新文件filename代替原有内容
:f filename
把当前文件改名为filename
set nu
列出行号
有不合适的地方,欢迎指出,共同学习。 如有转载请标注原文地址,谢谢。