Vim学习笔记

May 4, 2016


基本操作

  • 移动: h(左), j(下), k(上), l(右)
  • 关闭窗口: :q<Enter>
  • 关闭Vim: :qa!<Enter>
  • 标签跳转: Ctrl+](跳过去), ctrl+[O|T](跳回来)
  • 获取指定帮助:

    说明 前缀 例子
    普通模式   :help x
    视图模式 v_ :help v_u
    插入模式 i_ :help i_<Esc>
    命令行命令 : :help quit
    命令行编辑 c_ :help c_<Del>
    Vim命令选项 :help 'textwidth'

    获取帮助的值都是以:help开始的, 如上表所示. 例如输入:help word, 然后按Ctrl+D就可查看word的相关帮助.

移动操作

  • 左右移动

    • 常用操作

      操作 说明
      [N] h 左移N格, 默认一格
      [N] l 右移N格, 默认一格
      0 移至当前行的第一个字符
      ^ 移至当前行的第一个非空白字符
      [N] $ 移至下面第N-1行的最后一个字符
      gm 移至当前行的中间字符
      g0 移至当前屏幕行的第一个字符(一行可能有多屏幕行)
      g^ 移至当前屏幕行的第一个非空白字符
      [N] g$ 移至下面第N-1屏幕行的最后一个字符
    • 不常用操作

      操作 说明
      [N] | 移至第N列, 默认第一列
      [N] f{char} 向右移至第N个{char}字符
      [N] F{char} 向左移至第N个{char}字符
      [N] t{char} f相似, 但是是前一个字符
      [N] T{char} F相似, 但是是后一个字符
      [N] ; 重复f,F,t,TN次
      [N] , 重复f,F,t,TN次, 相反方向
  • 上下移动

    • 常用操作

      操作 说明
      [N] k 上移N行, 默认一行
      [N] j 下移N行, 默认一行
      [N] - 上移N行至第一个非空白字符
      [N] + 下移N行至第一个非空白字符
      [N] G 移至第N行第一个非空白字符, 默认最后一行
      [N] gg 移至第N行第一个非空白字符, 默认第一行
      N % 移至第N%处
    • 不常用操作

      操作 说明
      [N] gk 上移N屏幕行, 默认一行
      [N] gj 下移N屏幕行, 默认一行
      [N] _ +相似, 但是是上一行
  • 文本对象移动

    操作 说明
    [N] w 前进N个单词(单词开头)
    [N] W 前进N个单词(单词开头)(空白符分割)
    [N] e 前进N个单词(单词结尾)
    [N] E 前进N个单词(单词结尾)
    [N] b 后退N个单词(单词开头)
    [N] B 后退N个单词(单词开头)(空白符分割)
    [N] ge 后退N个单词(单词结尾)
    [N] gE 后退N个单词(单词结尾)(空白符分割)
  • 搜索移动

    操作 说明
    [N] /{pattern} 前进至满足模式{pattern}的第N个位置
    [N] ?{pattern} 后退至满足模式{pattern}的第N个位置
    [N] / 重复上一次/{pattern}搜索
    [N] ? 重复上一次?{pattern}搜索
    [N] n 重复上一次搜索
    [N] N 重复上一次搜索(相反)
  • 标记移动

    操作 说明
    [N] m{a-zA-z} 对当前位置做标记
    [N] \{a-z}` 移至{a-z}的标记位置
    [N] \{A-Z}` 移至{A-Z}的标记位置
    [N] \{0-9}` 移至Vim上一次退出的位置
  • 变量移动

    操作 说明
    [N] H 移至当前窗口第N行
    [N] M 移至当前窗口中间行
    [N] L 移至当前窗口倒数第N行

上一篇博客:ZigZag Conversion
下一篇博客:Divide Two Integers