一、vi分三种模式
1. 命令模式
:用来查找等操作
2. 插入模式
:用来编辑文档
3. 末行模式
:用来退出,保存,强制退出等
二、三种模式之间切换
输入vi 文件名后,就为命令模式,在该模式下输入a,A,i,I,o,O 都可以进行入到插入模式,
在插入模式下按ESC将回到命令模式,
在命令模式下输入“:”可到末行模式,在末行模式下可以执行退出,保存等操作。
三、在
命令模式下的一些命令
1、 进入到插入模式
a 从光标所在位置后插入
A 从光标所在行最末开始插入
i 从光标所在位置前面插入
I 从光标所在行的第一个非空字符前面插入
o 从光标下一行开始插入
O 从光标上一行开始插入
2、光标的移动
nH 将光标移动到屏幕的第n行
nL 将光标移动到屏幕的倒数第n行
ctrl + d 向下移动半页
ctrl + f 向下移动一页
ctrl + u 向上移动半页
ctrl + b 向上移动一页
0(数字)移动到文件开头 G 移动到文件的末尾
3.删除
x 删除光标所在字符
X 删除光标所在前一个字符
s 删除光标所在字符并进行到插入模式 S 删除光标所在行并进入到插入模式
dd 删除光标所在行
D 从光标开始的位置删除到行尾
4.修改
r 修改光标所在字符
R 进行替换状态
cc 删除光标所在行并进入到插入模式
C 删除光标所在行到行末内容并进行插入模式
5.复制,移动
yy 复制当前行的内容到缓存
nyy 复制n行到缓存
p 粘贴缓存的内容到光标后
P 粘贴缓存的内容到光标前
6.查找
/aa 移动到下面包含aa字符串的行
?aa 移动到上面包含aa字符串的行
/往下重复查找
?往上重复查找
u 撤消前一条命令的结果
四、
末行模式(注意“:”后没有空格)
:w 保存
:q!不保存退出
:w! 强制保存
:wq 保存并退出
:wq! 强制保存退出
:s/str1/str2 用str2 字符串替换首行出现的str1
:s/str1/str2/g 替换行中所有字符
:.,$ /s/str1/str2/g 替换当前行到行末
:1,$ s/str1/str2/g 替换文档中所有行
五.
插入模式
在这种模式下可以输入内容,按ESC进入到命令模式
注意:在linux区分大小写
本文转自zcm8483 51CTO博客,原文链接:http://blog.51cto.com/haolun/992991