Vim基础命令整理

  • vim

posted on 21 Jun 2019 under category 技能 原创

概述

本文按照使用类型对Vim进行分类整理。

正文

  • 删除

    • 单个字符

      x: 删除当前光标下的字符

      X: 删除当前光标前的字符

    • 多个字符

      dw: 删除单词,从光标起始处至下个单词字母开头处,包括中间的所有空格

      D: 删除从光标起始处至行末

      dd: 删除当前行,并跳转至下一行首

    • 换行符

      J: 删除当前行的换行符,并以空格拼接

  • 移动

    • 单个字符

      h: 向移动

      j: 向移动

      k: 向移动

      l: 向移动

    • 单个词(连续的多个符号[,.:// …]算一个词)

      w: 向移动至下个词首

      e: 向移动至下个词末

      b: 向移动至上个词首

    • 大词(单个换行符、连续的空格或Tab)

      W: 向移至下个词首

      B: 向移至上个词首

    • 行内跳转

      0: 光标移动至行首

      $: 光标移动至行末

      ^: 光标移动至行首(非空格)

    • 页面跳转

      gg: 光标跳转至文件起始行首部

      G: 光标跳转至文件末行首部

      H: 光标跳转至当前页面起始行首部(非空格)

      M: 光标跳转至当前页面中间行首部(非空格)

      L: 光标跳转至当前页面末行首部(非空格)

      :$line_num: 光标跳转至输入的行号数

    • 翻页 此处的^相当于Ctrl键

      ^U: 向半页

      ^D: 向半页

      ^B: 向一页

      ^F: 向一页

      ^E: 屏幕向上滚动一行

      ^Y: 屏幕向下滚动一行

  • 插入

    i: 光标插入

    a: 光标插入

    I: 行首部插入

    A: 行末尾插入

    o: 当前行下方另起一行插入

    O: 当前行上方另起一行插入

  • 替换

    r: 选中当前光标下的单个字符,只能替换单个字符后并返回命令模式

    R: 选中当前光标下的字符,替换单个字符保持插入状态

    s: 删除光标下的单个字符保持插入状态

    S: 删除当前行保持插入状态

    C: 删除当前行(光标后)并保持输入状态

    cw: 删除一个词,并保持输入状态(w可替换成其他命令,如:s、p等)

  • 查找

    • 全文

      /{string}: 查找所需字符串,并跳转至光标后的第一个匹配处

      *: 查找光标下的单词,并跳转至第一个匹配处

      n: 跳转至下一个匹配处

      N: 跳转至上一个匹配处

    • 单行

      t{character}: 在当前行光标起始处开始查找匹配的字符,光标跳转至第一个匹配项前

      f{character}: 在当前行光标起始处后开始查找匹配的字符,光标跳转至第一个匹配项上

      ;: 跳转至下一个匹配项

      ,: 跳转至上一个匹配项,若为t查找结果则光标跳转至匹配项后

  • 匹配替换

    :s /{search_str}/{replace_str}/g: 在当前行查找匹配项并替换

    :%s /{search_str}/{replace_str}/g: 全文查找匹配项并替换

  • 复制粘贴

    • 复制

      y: 复制已选文本区域

      yy: 复制当前行

    • 粘贴

      p: 粘贴已选或刚删除的文本于光标

      P: 粘贴已选或刚删除的文本于光标

  • 其他

    u: 撤销上一次操作

    Ctrl-r: 重新执行上一次操作

    .: 重复上次操作,.前面可以带上数字表示重复次数

    v: 进入视图模式,默认选中当前光标字符,支持单字符选择

    V: 进入视图模式,默认选中当前行,支持选择