Vi  visual  interface  bill joy,S.U.N  sparc  sunos(solaris)
   Vim:vi improved
     模式化编辑器:
             编辑模式(命令模式):---->默认的工作模式
             末行模式:---->
        输入模式(插入模式):---->
        替换模式:---->
        可视化模式:---->
   ①  Vi / vim的打开方式:
         1. Vi / vim的界面
         2.vim file:file存在,则打开并将光标默认设置在第一行第一个字符
                  File不存在,则以新文件的方式打开,若保存,则文件被创建:若不保存,文件消失
         3. Vim  +# file:指定在打开文件的时候,将光标定位在第#行行首,如果定位的行数比整个文档的行还要大,则光标停留在最后一行的行首
         4. Vim  +  file:直接将光标定位在文档的最后一行行首
         5. Vim  + /PATTERN/:打开文件,并且将光标定位至首次被PATTERN匹配的行的行首位置,即只完成首次匹配
        
   ②  vim的关闭方式
         末行模式的关闭:
               :q      直接关闭vim编辑器,不保存修改内容
               :q!     强制退出但不予保存
               :w     保存修改的内容
               :wq    保存修改的内容并关闭vim编辑器
               :wq!  对于root来说,一些只读文件的修改可以强制保存并退出
               :w!   强制保存
         编辑模式的关闭
                ZZ       保存并退出
                ZQ      不保存退出

   ③   在vim的编辑模式中,移动光标
          1. 逐字符移动
             (1.) ARROW
             (2.)  H:光标向左
                     J:光标向下
                     K: 光标向上
                     L: 光标向右
         2. 逐字移动
               W:将光标移动到下一个字的字首(两个单词之间有空格算一个字)
                E:将光标移动到下一个字的字尾
                B:将光标移动到上一个字的字首
         3. 行内跳转
               0:绝对行首   :将光标停留行首位置
               ^: 相对行首    :将光标停留在非空白字符行首位置
               $: 绝对行尾    :将光标停留在行尾位置
         4.行间跳转
             #G:直接将光标移动到#行
              G:直接将光标移动到文档的最后一行
             gg:直接将光标移动到第一行行首
         5.末行模式中光标移动
              :#  直接将光标移动到第#行
              :$  直接将光标移动到最后一行
              :1  直接将光标移动到第一行
     ④ 翻屏
          Ctrl + f:向下翻一屏
          Ctrl + b:向上翻一屏
          Ctrl + d:向下翻半屏
          Ctrl + u:向上翻半屏
     ⑤ 逐字符删除
          x:删除光标所在位置的单个字符
          X:删除光标所在位置左侧的单个字符
     ⑥ 编辑模式中的万能删除命令
          d:删除光标经过的所有内容
         dd:删除光标所在行
         dh,dj,dk,dl,darrow,dw,de,dgg,dG
        在末行模式下:
              :d:删除光标所在行
             :#d:删除第#行
        :m,+nd:删除从第m行开始,在经过n行的所有行
        :m,nd:删除从第m行开始到第n行结束的所有行
               .:表示光标当前所在行
               $:文档的最后一行
             .,$ : 从光标所在行到文档的最后一行
     ⑦ 编辑模式中的万能粘贴命令
            P(小写):向右向下进行粘贴
            P(大写):向左向上进行粘贴
     ⑧ 编辑模式中万能复制命令
            y:复制光标经过的所有内容(用法与d命令相同。)
           yy:复制光标所在行
     ⑨ 模式的切换
        1. 从编辑模式到末行模式:
              :输入命令
              /和? 进行查找,n和N,n表示顺寻查找,N表示逆序查找
              /:自上而下
             ?:自下而上
        2. 从末行模式到编辑模式
               Esc键
               Enter键
               Backspace键
        3. 从编辑模式到输入模式
               I:将光标移动至行首进入输入模式
               i:在光标所在位置的前面插入信息
               A:将光标移动至行尾并进行输入模式
               a:在光标所在位置的后面插入字符
               O:在光标所在行的上面插入新行
               o:在光标所在行的下面插入新行
              cc:删除整行内容之后,进入输入模式
               C:从光标所在位置删除至行尾,进入输入模式
               s:删除光标所在位置一个字符,进入输入模式
               S:删除整行内容之后,进入输入模式
        4. 从输入模式到编辑模式
               Esc键
        5. 从编辑模式到替换模式
                R:进入替换模式
        6. 从替换模式到编辑模式
                Esc键
        7. 从编辑模式到可视化模式
                 v:按照字符为单位进行矩形选取
                 V:按照以行为单位进行矩形选取
             在选取之后可以执行复制或删除的操作
             只要完成操作,就返回编辑模式
   所有的模式切换必须经由编辑模式,两种非编辑模式之间无法切换
      ⑩ 替换命令
          r:替换光标所在位置的一个字符
     ⑩① 撤销编辑操作
          u:撤销一次前的编辑操作
         Ctrl + r:撤销最近的一次撤销操作
     ⑩② 重复之前的一次编辑操作
          .:重复之前的一次编辑操作
⑩③ 特殊的末行命令
       1. 显示和取消行编号:
            set nonumber  --->  set nu(取消显示编号)
             set number  --->  :set nonu(显示编号)
       2. 开启或关闭字符大小写:
            :set  ignorecase   --->  :set ic(开启)
            :set  noignorecase   --->  :set noic(关闭)
       3. 开启或关闭自动缩进功能:、
            :set  autoindet    --->  : set ai(开启)
            :set  noautoindet    --->  : set noai(关闭)
       4. 开启或关闭查找高亮显示:
            :set  hlsearch             (开启)
            :set  nohlsearch    --->  :noai(关闭)
       5. 开启或关闭语法着色
            :syntax  on(开启)
            :syntax  off(关闭)
     ⑩④ : vimtutor
     ⑩⑤ :  内容替换