画布 1
VIM常用命令速查
  模式状态
    命令模式：打开命令时进入的状态
    编辑模式：通过编辑启动命令进入的状态，使用ESC可返回命令模式
    命令行模式：通过输入：可进入的状态，使用ESC可返回命令模式
  编辑
    字符
      x 删除当前光标下的字符
      X 删除当前光标左边的字符
      s 修改一个字符
      i 在光标之前插入
      a 在光标之后插入
    单词
      diw 删除光标所在的单词，不包括空白字符
      daw 删除当前光标所在的单词，包括空白字符
      dw 从当前位置删除到下一个单词词首
    行
      D 删除到行尾的内容
      C 修改到行尾的内容
      S 修改一整行
      dd 删除一行
      yy 复制一行
      o 当前行下插入一空行
      O 当前行上插入一空行
      A 当前行首插入
      I 在当前行尾插入
    撤消及重复
      . (点）重复上一命令
      u 撤消改动
      Ctrl-r 重做
    编辑
      p 粘贴到光标之前
      P 粘贴到光标之后
      d 剪切
    状态
      Ctrl-g 当前行信息
      g ctrl-g 字数统计
  保存各退出
    :w 保存
    :q 退出
    ZZ 或 :wq 或 :x 保存退出
    ZQ 或 :q! 不保存退出
    :w filename 另存为
  移动
    光标
      命令模式下h、j、k、l对光标进行向左、向下、向上、向右移动一个字符位置
      在命令模式和编辑模式都可以使用四个方向键移动光标
    单词
      w 下一个单词第一字符
      W 下一个长单词第一个字符
      e 下一个单词最后一个字符
      E 下一个长单词最后一个字符
      b 前一单词第一字符
      B 前一长单词第一字符
      ge 前一个单词的最后一个字符
    行
      0 | ^ | <Home> 到行首
      $ | <End> 到行尾
      gg 第一行
      G 最后一行
      XG 到第X行
    句
      ( 到句首
      ) 到句尾
    段
      ( 到段首
      ) 到段尾
    屏幕
      Ctrl-y 向上滚屏
      Ctrl-e 向下滚屏
      Ctrl-u 向上滚动半屏
      Ctrl-d 向下滚动半屏
      Ctrl-b 向上滚动整屏
      Ctrl-f 向下滚动整屏
    跳转
      f 调到下一个出现字母x的地方
      Ctrl-] 跳转到一个主题
      Ctrl-o 跳回到原来的位置
  设置
    :set autoindent 自动缩进
    :syntax enable 语法高亮
    :set nu! 显示行号
    :set hlsearch 查找结果高亮显示
    :set warp 自动换行
    :set incsearch 立即显示当前输入匹配的
    :set ignorecase 忽略大小写
    这些设置可以写入.vimrc中
  文本替换
    :s/regexp/replacement/ 当前行出现的第一个匹配
    :s/regexp/replacement/g 当前行所有匹配
    :%s/regexp/replacement/g 文件中所有匹配
    :%s/regexp/replacement/gc 每次替换要求确认
  程序
    移动
      [[ 移动到代码块的开头
      ][ 移动到代码块的末尾
      [{ 调到代码块的开头，跳过平级代码块
      ]} 跳转到代码块尾部
    注释内
      [/ 到注释的开始
      ]/ 到注释的末尾
    标识符和函数
      [| 查找标识符