vim 编辑器

Vim编辑器

简介

Vi: Visual Interface,文本编辑器

文本:ASCII, Unicode

文本编辑种类:

- 行编辑器: sed
- 全屏编辑器:nano, vi

Vim - Vi improved

使用

  1. 打开文件:

    vim [OPTION]… FILE…

    ​ +#: 打开文件后,直接让光标处于第#行的行首;
    ​ +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首;

  2. vim:模式化的编辑

    基本模式:

    • 编辑模式,命令模式

    • 输入模式

    • 末行模式

      内置的命令行接口

    模式转换:

    编辑模式 --> 输入模式
        i: insert, 在光标所在处输入;
        a: append, 在光标所在处后面输入;
        o: 在当前光标所在行的下方打开一个新行;
        I:在当前光标所在行的行首输入;
        A:在当前光标所在行的行尾输入;
        O:在当前光标所在行的上方打开一个新行;
        c
        C
    

    ​ 输入模式 —> 编辑模式
    ​ ESC

    ​ 编辑模式 —> 末行模式
    ​ :

    ​ 末行模式 —> 编辑模式
    ​ ESC

  3. 关闭文件:

    • :q 退出
    • :q! 强制退出,丢弃做出的修改\
    • :wq 保存退出
    • :x 保存退出
    • :w /PATH/TO/SOMEWHERE
    • ZZ: 保存退出
  4. 光标跳转:

    • 字符间跳转:
      h, j, k, l

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

      ​ #COMMAND:跳转由#指定的个数的字符;

  • 行首行尾跳转:

    ^: 跳转至行首的第一个非空白字符;
      0: 跳转至行首;
      $: 跳转至行尾;
    
  • 行间移动:

    #G:跳转至由#指定行;
      G:最后一行;
      1G, gg: 第一行;
    
  • 句间移动:

    )
      (
    
  • 段落间移动:

    }
      {
    
  1. vim的编辑命令:

    • 字符编辑:

      x: 删除光标处的字符;
        #x: 删除光标处起始的#个字符;
      

      xp: 交换光标所在处的字符及其后面字符的位置;

    • 替换命令(r, replace)

      r: 替换光标所在处的字符
      
    • 删除命令:

      d: 删除命令,可结合光标跳转字符,实现范围删除;
            d$:
            d^:
            d0:
      

      ​ dw
      ​ de
      ​ db

      ​ #COMMAND

      ​ dd: 删除光标所在的行;
      ​ #dd:多行删除;

  • 粘贴命令(p, put, paste):
    p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面;
      P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面;
    
  • 复制命令(y, yank):

    y: 复制,工作行为相似于d命令;
          y$
          y0
          y^
    

    ​ ye
    ​ yw
    ​ yb

    ​ #COMMAND

    ​ yy:复制行
    ​ #yy: 复制多行;

  1. 改变命令(c, change)

    c: 修改
           编辑模式 --> 输入模式
    

    ​ c$
    ​ c^
    ​ c0

    ​ cb
    ​ ce
    ​ cw

    ​ #COMMAND

    ​ cc:删除并输入新内容
    ​ #cc:

  1. 其它编辑操作

    • 可视化模式:

      v: 按字符选定
        V:按行行定
      
    • Note:经常结合编辑命令;

          d, c, y
      
    • 撤消此前的编辑:

      u(undo):撤消此前的操作;
            #u: 撤消指定次数的操作;
      
    • 撤消此前的撤消:

      Ctrl+r
      
    • 重复前一个编辑操作:

      .
      
    • 翻屏操作:

      Ctrl+f: 向文件尾部翻一屏;
        Ctrl+b: 向文件首部翻一屏;
      

      ​ Ctrl+d: 向文件尾部翻半屏;
      ​ Ctrl+u:向文件首部翻半屏;

  1. vim自带的练习教程:

    1
    vimtutor