光标

  • hjkl 四个键操作光标方向。 j, k 上下 h,l 左右。

    vim 的进入和退出

  • :q! 不保存退出
  • :wq 保存退出

    文本编辑

    删除

    Normal 模式下:
  • 可以按下 x 键删除光标所在位置的字符
  • dw 从光标处删除至第一个单词的末尾包括空格,如果是中文,则一直到标点符号的或者空格结束
  • d$ 从当前位置删除到行末尾 。$有点正则表达式的含义,标识匹配结尾
  • dd 删除整行。 整行操作比较频繁,所以两个 d 直接删除。
  • [n]dd 同时删除 n 行
    删除命令 d 的格式:
    [num] d obj 或者 d [num] obj
    num 标识次数, d 标识删除,
    w - 从当前光标当前位置直到单字/单词末尾,包括空格。
    e - 从当前光标当前位置直到单字/单词末尾,但是 包括空格。
    $ - 从当前光标当前位置直到当前行末。

    置入命令

  • p 将最后一次删除的内容置入光标之后可以理解成 paste,有点类似与剪切的功能

    撤销命令

  • u 撤销最后执行的命令
  • U 撤销再一行中所做的改动
  • Ctrl R 撤销之前的撤销命令

    替换命令

  • r 输入 r 和一个字符替换光标所在位置的字符。即先输入 r 命令,然后输入字母,即可替换调光标所在的字母。

    更改指令

    • c指令: 更改類指令可以使用同刪除類命令所使用的對象參數
      [num] c obj 或者 c [num] obj
      例如 : c$指令,进入编辑模式,更改当前光标到行尾。

      插入

      Normal 模式直接按下 i, 进入编辑模式,可以进行插入修改操作

      定位和文件状态

  • ctrl g 显示当前光标所在行以及文件信息。
  • shift g 光标定位到最后一行
  • 行号 + shift g 光标定位到指定的行

    搜索命令

  • / keyword : 在当前文件中从上到下搜索关键字
  • ? keyword: 在当前文件中从下到上搜索关键字
    查询之后,按 n 查找下一个,shift n 上一个
  • :set hls 设置高亮显示搜索(hls 指 highlight search)
  • :set ic 设置搜索忽略大小写(ic 只 ignore case)
  • % 查找配对的括号,包括(, [, {

sed 替换修正错误

输入 :s/old/new/g 替换当前行所有 old 为 new
:s/old/new 替换当前行第一个 old 为 new

再 VIM 内执行外部命令

  • : ! 命令 回车 vim 内执行外部的 shell 命令

    保存文件

  • :w filename 将 vim 内容保存到文件中
  • :line1, line2 w filename 将 line1行和 line2行之间的聂荣保存到文件 filename

    提取和合并文件

  • :r filename 向当前文件中插入另外一个文件的内容。从光标所在位置开始插入。

    插入文本

  • 输入 o 将在光标的下方新起一行,并自动进入编辑模式,可以进行添加内容
  • 输入 O 将在光标的上方新起一行,并自动进入编辑模式,可以进行添加内容
  • 输入 a 可以在光标之后插入文本
  • 输入 A 可以在当前行末尾插入文本

    VIMRC启动脚本

    vim 启动时会加载 vimrc 文件,此文件可以配置一些 vim 的功能,比如让 vim 高亮某些语法等等。
    :edit ~/.vimrc 编辑当前用户下的 vimrc 文件
    :write 保存 vimrc 文件