vi的三种状态

   1.命令模式(默认) 

   2.尾行模式    :/ 进入尾行模式     1.ESC慢 2.连续两次esc 3 删除全部尾行内容  退出尾行模式

   3.编辑模式  a i o s(四种方式)进入编辑模式    esc 退出编辑模式

  vim/vi 命令

   打开vi  1. #vi filename 如果filename没有被创建,则生成一个新文件  2 #vi 编辑新的文件在内存中 编辑完成后必须使用相关命令保存文件 否则编辑无效

   退出vi  1.进入命令模式,输入退出命令:ZZ(保存退出),ZQ(直接退出)  2.进入尾行模式,用命令退出: q直接退出 q!强制退出 wq 保存退出

   显示行号  尾行模式下 :set number 或 :set nu

   字符移动  1.方向键  2.k,j,h,l  各自按上下左右移动一个字符

   行移动  0或 home 移动到本行行首    $或end  移动到本行行末

   跳到指定行    [行号] G 转到文件的最后一行   G 转到文件的最后一行  gg 转到文件的第一行

   屏幕滚动  ctrl+u 将屏幕向文件头方向翻滚半屏  ctrl+d  将屏幕向文件尾方向移动翻滚半屏  ctrl+f  将屏幕向文件尾方向翻滚一整屏  ctrl + b 将屏幕向文件尾方向翻滚一整屏

   文本插入  I 插入当前行头  a 插入当前字符后  A 插入当前行尾  o 插入当前行下一行  O  插入当前行上一行

   文本删除  dd删除当前行  ndd 删除从当前行起的n行  x 删除 光标处的字符  nx 删除光标位置起的右n个字符  X 删除光标前的字符  nX 删除光标位置前 左n个字符

         D 或d$ 删除光标起到行尾的内容  d0 喊出光标前一个字符到行尾的内容  dw 删除一个单词  ndw 删除n个单词

   恢复  u 取消上次的编辑动作(可多次) U 取消在本行所有的编辑动作  重复命令(.)   再一次执行刚执行的命令

   修改文本  c object 改变光标位置到object位置的内容  C或c$  改变光标位置起到行尾的内容  nC  改变光标位置起的n行内容  cc  改变当前行的内容  ncc改变当前行起n行的内容

   文本搜索  /word 查找word 查找命令  n 继续向前查找 /和?方向不同  N  与n反向查找    /g全局操作

   文本替换  s  用跟随在其后的字符串替换光标位置的字符  ns  跟随在其后的字符串替换光标位置起的n个字符  S  用跟随在其后的字符串替换该行  nS 跟随在其后的字符串替换当前行起n行

   拷贝文本  yy 拷贝一行 nyy