一、一般模式切换到编辑模式:
i,I 进入插入模式,i为从目前光标所在处插入,I为在目前所在行的第一个非空格符处开始插入。
a,A 进入插入模式,a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入
o,O 进入插入模式,o为在目前光标所在的下一行处插入新的一行,O为在目前光标所在处的上一行插入新的一行
r,R 进入替换模式,r只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,直到按下Esc键为止
二、一般模式切换到命令行模式:
:w 保存
:w! 强制写入”只读“文件
:q 离开
:q! 强制离开,不保存
:wq 保存后离开
:w [filename] 将编辑的数据保存为另外filename这个文件
:n1,n2 w [filename] 将n1到n2的内容保存成filename这个文件
:! command 暂时离开vi到命令行模式下执行command的现实结果
:set nu 设置行号
:set nonu 取消行号
三、常用命令
光标移动:
[Ctrl] + [f] 屏幕向下移动一页
[Ctrl] + [b] 屏幕向上移动一页
n<space> n表示数字,按下数字后再按空格键,光标会向右移动n个字符
n<Enter> n表示数字,光标向下移动n行
0 移动到这一行的最前面字符处
$ 移动到这一行的最后面字符处
G 移动到文件的最后一行
nG n为数字,移动到文件的第n行
gg 移动到文件的第一行
查找与替换:
/word 向下寻找一个名称为word的字符串
?word 向上寻找一个名称为word的字符串
:n1,n2s/word1/word2/g n1,n2为数字,在第n1与n2行之间寻找word1这个字符串,并替换为word2
:1,$s/word1/word2/g 第一行到最后一行之间寻找word1这个字符串,并替换为word2
:1,$s/word1/word2/g 第一行到最后一行之间寻找word1这个字符串,并替换为word2,替换前提示用户确认
删除、复制与粘贴:
x,X x向后删除一个字符,X向前删除一个字符
dd 删除一行
ndd 删除光标以下n行
yy 复制光标所在一行
dyy 复制光标以下n行
p,P p将已复制的数据在光标下一行粘贴,P则在光标上一行粘贴
u 复原前一个操作
[Ctrl] + r 重做上一个操作