• vim 简史

vim,上古神器,诞生于1988年,而其前身(ed、ex、vi)甚至可以追溯到unix时代。(参见 vim-程序员的编辑器)

vim诞生的年代没有鼠标,键盘也没有丰富的功能键,因祸得福,所有的编辑工作都通过键盘完成。效率的提高,其中一个原因是手不离键盘。

vim的学习曲线是很陡的,也就是说入门是困难的。但是适应了键盘操作之后,会带来效率的极大提高。下图为常见编辑器的学习曲线。vi和同为神器级别的emacs的曲线确实夸张。因此学习vim 的第一要务是“存活下来”(stay alive)。

vim学习曲线

Linux下自带vi,但建议安装vim或者gvim,Windows下可以安装gvim或者babun来使用Linux下的vim。

  1. vim基础

    • 关于vim的模式

      • vim分为4个模式
        • normal 正常模式
        • insert 插入模式
        • command 命令模式
        • visual 可视模式
      • 切换
        • 正常模式下按以下键进入插入模式
          • i 在光标处插入
          • a 在光标之后插入
          • A 在光标所在行之后插入
          • o 新开一行并开始插入
          • O 上一行并开始插入
          • s 删除当前字符并插入
          • S 删除当前行并插入
        • 其他模式进入正常模式
          • ESC
        • 正常模式进入命令模式
          • 英文的冒号 :
    • 打开、保存与退出

      • 打开:vim 文件名 打开文件,如果文件不存在则新建文件
      • ​保存:在命令模式下执行w,也就是:w
      • 退出:
        1. 没有更改直接退出执行:q
        2. 保存更改并退出则:wq
        3. 或者执行x 也就是:x
        4. 不保存更改执行:!q
  2. 导航

    • 常用

      • h j k l 分别是上下左右导航
      • gg 到头
      • G 到尾
      • 0 到行首
      • $ 到行尾
      • w 下一个单词前,在中文中用途不大
      • ngg/ nG ,到某一行如10gg 到第10行
      • /{关键字}, 向下搜索
      • ?{关键字},向上搜索
    • 按页滚动

      • ctrl+d 向下滚动半页
      • ctrl+u 向上滚动半页
      • ctrl+f 向下滚动一页
      • ctrl+b 向上滚动一页
    • 按屏幕

      • H 移到屏幕顶端的行-home
      • M 移到屏幕中央的行-middle
      • L 移到屏幕底端的行-last
  3. 编辑操作(按ESC确保自己在正常模式下)

    • 复制 y
      • 复制1行 yy
      • 复制光标向下所在的n行 yny
      • 复制1个单词 yw
    • 粘贴 p
    • 删除 d
      • 删除1行 dd
      • 删除n行 dnd
      • 删除(其实是剪切)1个字母 x
      • 删除1个单词 dw
      • 删除到行尾 d$
    • 重做/撤销
      • 重做 ctrl+r
      • 撤销 u