linux下vim编辑器简介:

  Visual Interface iMproved也叫全屏编辑器,模式化编辑器

     四种模式:

      编辑模式 (命令模式)        输入模式 (Insert)

      末行模式 (  :  )        替换模式 (Replace)


    1.模式转换:

      编辑模式  转  输入模式:

  i:   在当前光标所在字符的前面,转为输入模式;

  a:   在当前光标所在字符的后面,转为输入模式;

  o:   在当前光标所在行的下方,新建一行,并转为输入模式;

  I:  在当前光标所在行的行首,转换为输入模式

  A:  在当前光标所在行的行尾,转换为输入模式

  O:  在当前光标所在行的上方,新建一行,并转为输入模式;


输入模式转编辑模式    按ESC键

编辑模式转末行模式    输入:

末行模式转编辑模式    按ESC键,有时按两次


    2.打开文件

  vim 文件:    默认情况下处于编辑模式

  vim +# :  打开文件,并定位于第#行    vim +3

  vim +:  打开文件,定位至最后一行    vim +

  vim +/模式 :  打开文件,定位至第一次被模式匹配到的行的行首    vim +/for

 

   3.关闭文件

 在末行模式关闭文件

  :q  退出

  :wq 保存并退出

  :q! 不保存并退出

  :w 保存

  :w! 强行保存

  :x 同wq

 编辑模式下关闭文件:     按ZZ键,即保存并退出


4.移动光标(编辑模式)

 4.1、逐字符移动:

   h: 左     j: 下    k: 上    l: 右

   #h/l/j/k: 移动#个字符;


 4.2、以单词为单位移动

    w: 跳至下一个单词的词首  

    e: 跳至当前下一个单词的词尾

    b: 跳至当前或前一个单词的词首

  注意:前面加数字,代表跳动的倍数    5w:跳至5个单词


 4.3、行内跳转:

    0 : 绝对行首,最最前面第一行的行首     数字0

    ^ : 行首的第一个非空白字符

    $ : 绝对行尾,最最后面一行的行尾


 4.4、行间跳转

   #G:跳转至第#行;          :5  跳转至第5行

    G:最后一行

   gg:跳到第一行

  末行模式下:直接给出行号即可跳转至指定的行


    5.翻屏

 Ctrl+f: 向下翻一屏      向文件尾部

 Ctrl+b: 向上翻一屏

 Ctrl+d: 向下翻半屏      downward

 Ctrl+u: 向上翻半屏      up


    6.删除单个字符

 x:    删除光标所在处的单个字符           x  删1个字符

 #x:    删除光标所在处及向后的共#个字符      5x  删5个字符


    7.删除命令: d命令组合使用;

   d0 当前到行首            d$当前到行尾

   #dw,   word    dw  删除一个单词      3dw  删除3个单词

   #db,         db  向前删除一个单词    

   #de,   end     de  向后删除一个单词

    dd: 删除当前光标所在行

   #dd: 删除包括当前光标所在行在内的#行;

  末行模式下:

    起始行,结束行

    .    :  表示当前行

    $   :   最后一行

   +#  :   向下的#行     :.,+5d


    8.复制命令 y   (用法和d一样)


    9.粘贴命令 p

  p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方

      如复制或删除为部分行内容, 则粘贴至光标所在字符的后面

  P: 如果删除或复制为整行内容,则粘贴至光标所在行的方,

      如复制或删除为部分行内容,则粘贴至光标所在字符的面;


    10.修改:先删除内容,再转换为输入模式     (用法和c一样)

     cc: 删除当前光标所在行并直接进入插入模式

     #cc: 删除包括当前光标所在行在内的#行并直接进入插入模式


    11.替换: (replace)

   r:单字符替换

   R: 替换模式,多字符替换


    12.撤消编辑操作   (undo)

   u:撤消前一次的编辑操作

        连续u命令可撤消此前的n次编辑操作

   #u: 直接撤消最近#次编辑操作            3u撤消3次操作,最多50次

   撤消最近一次撤消操作:Ctrl+r


   13.重复前一次编辑操作

        .


   14.可视化模式

        v: 按字符选取

       V:按矩形选取


  15.查找如同man查找用法

        /模式 

       ?模式    倒着找

       n:表示选中匹配的下一字

       N:表示选中匹配的上一字


    16.查找并替换

       在末行模式下使用s命令,  如同sed命令

       1,$ 表示从第一行到最后一行

       %:表示从第一行到最后一行

  eg1.将/etc/yum.repos.d/server.repo文件中的ftp://instructor.example.com/pub

   替换为http://172.16.0.1/yum,文件内容如下:

   # Main rhel5 server

   [base]

   name=Instructor Server Repository

   baseurl=ftp://172.16.0.1/pub/Server

   gpgcheck=0


 %s/ftp:\/\/instructor\.example\.com\/pub/http:\/\/172.16.0.1\/yum/\转义符

 %s@ftp://instructor.example.com/pub@http://172.16.0.1/yum@@分割符

 %s@ftp://instructor/.example\.com/pub@http://172.16.0.1/yum@g  %s@..@...@g

 %s#ftp://instructor/.example\.com/pub#http://172.16.0.1/yum#g  #分割符

    17.使用vim编辑多个文件 

         vim 文件1 文件2 ...

        :next       切换至下一个文件

        :prev      切换至前一个文

         :last       切换至最后一个文件

         :first       切换至第一个文件

         :qa        全部退出           ( quit all )


    18.分屏显示一个文件

          Ctrl+w, s: 水平拆分窗口

          Ctrl+w, v: 垂直拆分窗口

     在窗口间切换光标:

          Ctrl+w, 键盘上下左右方向键

          :qa 关闭所有窗口


    19.分窗口编辑多个文件

         vim -o : 水平分割显示

         vim -O : 垂直分割显示


    20.将当前文件中部分内容另存为另外一个文件

         :w    末行模式下使用w命令  

         :w /tmp/tt.txt       :地址范围1,地址范围2w 文件名


    21.将另外一个文件的内容填充在当前文件中

         :r 文件名


    22.跟shell交互

         :! 命令


   23.高级话题

          1)、显示或取消显示行号

               :set number

               :set nu

               :set nonu


         2)、显示忽略或区分字符大小写

               :set ignorecase

               :set ic

               :set noic


         3)、设定自动缩进

               :set autoindent

               :set ai

               :set noai


         4、查找到的文本高亮显示或取消       high light search

               :set hlsearch

               :set nohlsearch


         5、语法高亮  (默认开)

              :syntax on 

              :syntax off


   23.配置文件

         /etc/vimrc :全局配置文件,影响所有用户

         ~/.vimrc :个人用户配置文件,不影响其他用户


---end---