一、Vim编辑器:
 vim编辑器是LINUX上一种全屏幕的编辑器,是vi: visual interface编辑器的升级版

 使用格式:#vim [OPTION] [FILE]...

 vim编辑器模式主要分三种:
   编辑模式(命令模式)、输入模式(插入模式)、末行模式(命令接口);

1、各模式切换方法:(-->表示切换到)

 编辑模式 --> 输入模式:
   i: insert, 表示在当前光标所在处输入
   a:append,表示在光标所在字符处后输入
   o:new line,表示在光标下一行打开一个新行输入
   I: 在光标所在行行首输入
   A:在光标所在行行尾输入
   O:光标上方新建行输入

  输入模式 --> 编辑模式:
   ESC

  编辑模式 --> 末行模式:
   :

  末行模式 --> 编辑模式
   ESC

末行模式退出vim方法:
  :q!强制退出 
  :wq保存并退出
  :x 保存并退出

编辑模式退出vim方法  

  ZZ:保存退出

2、编辑模式下编辑命令使用:

(1)光标跳转:
  字符间移动:
   h:左
   l:右
   j:下
   k:上

   #{h|j|k|l}:一次移动#个字符

(2)单词间跳转:
   w:下一个单词的词首
   e:当前或下一个单词的词尾;
   b:当前或前一单词的词首;

   #{w|e|b}:跳#个单词

(3)行内跳转:
   ^: 跳转至行首的第一个非空白字符;
   0:跳转至行首;
   $: 跳转至行尾;

(4)行间移动:
   #G:跳转至目标行   #:目标行(数字) 
    G:跳转至尾部

   1G:跳转至文首

(5)句间移动:
   ):下一个句子
   (:上一个句子

(6)段落间移动:
   }:下一段
   {:上一段

 3、编辑模式编辑命令

(1)字符编辑:
   x: 删除光标所在处的字符
   #x:删除光标所在处向后#个字符

   r: 替换光标所在处的字符;

(2)删除命令:
   d:删除命令 
    d^
    d$:删除光标所在处至行尾
    d0:删除光标所在处至行首

   dd:删除光标所在行

   #dd:删除光标所在行向下#行

   注意:删除的内容会被vim编辑器保存至缓冲区当中;

(3)粘贴:p (paste, put)
   如果此复制或删除的内容不是一个完整行
    p:粘贴至当前光标所在处后面;
    P:粘贴至当前光标所在处前面;

   如果复制的内容是完整行(可不止一行)
    p: 粘贴至当前光标所在行下方;
    P:行上方;

(4)复制命令:y, yank
   
yy: 复制光标所在行

   Y:复制一整行

可同跳转命令一同使用

    #COMMAND

(5)改变命令:c, change
可同跳转命令一同使用,例: 

  c$, c^, c0
   cb, ce, cw
   cc:删除光标所在行并立即转换为输入模式

   #COMMAND

(6)撤消此前的编辑操作:
  u: undo
   撤消此前编辑操作;

   #u:撤销最近#此操作

  Ctrl+r:
   恢复此前的撤消操作

  .: 重复前一个编辑操作

(7)编辑模式下翻屏操作:
  Ctrl+f: 向后一屏;
  Ctrl+b:向前一屏;

  Ctrl+d: 向后半屏
  Ctrl+u: 向前半屏

 vim内建教程:
  vimtutor

4、vim的末行模式

  (1) 地址,定界:start_pos,end_pos
    #:第#行;
    #,#
    #,+#
     .: 当前行
     $: 最后一行
    %: 全文,相当于1,$

    /pat1/:第一次被此模式所匹配到的行;
    #,/pat1/
    /pat1/,/pat2/

   后可跟编辑命令:
    d, y
    w, r

  (2) 查找
   /PATTERN:向尾部进行
   ?PATTERN:向首部进行
    n: 与命令同方向
    N:与命令反方向

  (3) 查找替换
   s: 在末行模式下,在地址定界的范围内完成查找替换操作;

    s/要查找的内容/替换为的内容/修饰符
     要查找的内容:可使用模式
     替换为的内容:不能使用模式,但可以使用后向引用符号,以引用前面模式中的分组括号所匹配到的内容;
      \1, \2, ...
      &:引用“要找的内容”匹配到的整个内容;
     修饰符:
      i: 忽略大小写
      g: 全局替换

    /:用于分隔符,所以,要查找的内容或替换为的内容中出现此符号,要使用\对其转义,使用格式:\/
     分隔符可替换为其它字符:例如@,#等;

 5、多文件模式:
  格式:vim FILE1 FILE2 ...
(1)末行模式下切换:

   :next 下一个
   :first 首个
   :prev 前一个
   :last 末个

   :wqall 全部保存退出
   :q!all 全部强制退出

(2)多文件窗口分割:
  vim -o|-O FILE1 FILE2 ...

  Ctrl+w, ARROW

(3)单文件窗口分割:
  Ctrl+w, s: split, 水平分割
  Ctrl+w, v: vertical, 垂直分割

6、定制vim的某些工作特性:
  (1) 开通和关闭行号显示
   显示:set nu
   禁用:set nonu
  (2) 括号匹配
   显示:set sm
   禁用:set nosm
  (3) 自动缩进:
   set ai
   set noai
  (4) 高亮搜索
   set hlsearch
   set nohlsearch
  (5) 语法着色
   syntax on
   syntax off
  (6) 忽略字符大小写
   set ic
   set noic

  :help 获取帮助
  :help SUBJECT

 特性设定的永久生效方式:
  全局配置文件:/etc/vimrc
  用户个人的配置文件:~/.vimrc