一:VIM 是什么

VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。

切换输入法快捷键:super + space;

二:三种模式

  • 编辑完成后,返回一般模式,进入命令模式,输入 : w 保存文件;
  • 若不想保存刚才的修改,直接按 U 回退到编辑之前,相当于撤回操作;

(1)普通模式

  • yy:复制当前行

    • 输入数字,然后按 yy,复制多行;
    • 按 y ,然后按 $ ,复制光标开始到当前行结尾部分;
    • 按 y ,然后按 ^ ,复制当前行开始到光标部分;
    • 按 y ,然后按 w,复制当前单词;
  • p:粘贴

    • 输入数字,然后按 P,直接粘贴多行;
  • u:回退上一步操作;

  • w:跳到下一个单词;

  • dd:删除当前行

    • 按 d ,然后按 w,删除当前单词;
  • x:截切当前位字符;

    • Shift + x,退格(当前光标之前的部分被删除);
  • r:替换当前光标处字符;

    • Shift + r,替换模式;
  • 光标移动

    • Shift + 4,移动到当前行尾;

    • Shift + 6,移动到当前行头;

    • e,跳到词尾;

    • b,跳到词头;

    • gg 或者 Shift + h,跳到开头;

    • L 或者 G,跳到行尾;

      • 输入数字,然后按G,跳到指定行;
  • 命令行:

    • set nu:显示行号;
    • set nonu:隐藏行号;

(2)插入模式

按键 功能
i 当前光标前
a 当前光标后
o 当前光标的下一行
I 光标所在行最前
A 光标所在行最后
O 当前光标的上一行

(3)命令模式

命令 功能
:noh 取消高亮显示
:set nu 显示行号
:set nonu 关闭行号
:s/old/new 替换当前行匹配到的第一个old为new
:s/old/new/g 替换当前行匹配到的所有old为new
:%s/old/new/ 替换文档中每一行匹配到的第一个old为new
:%s/old/new/g 替换文档中匹配到的所有old为new