一、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区分大小写