Vim 快捷指令

Vim 的四种模式

  • Normal mode: 普通模式, 移动光标或使用命令修改文本
  • Visual mode: 浏览模式, 选择文本
  • Insert mode: 插入模式, 编辑文本
  • Command mode: 命令模式, 执行命令

插入模式

按键 描述
i 在光标后编辑
I 在光标所在行起始编辑
a 在光标编辑
A 在光标所在行末尾编辑
o 在光标所在行下方增添新行并编辑
O 在光标所在行上方增添新行并编辑

浏览模式

按键 描述
v 从光标所在开始, 按字符选择文本
V 从光标所在开始, 按选择文本
ctrl+v 从光标所在开始, 按选择文本

命令模式

  • :q 退出
  • :w 保存
  • :wq 保存并退出
  • :e {文件名} 打开文件并编辑
  • :ls 展示打开的缓存区
  • :help {命令} 打开帮助, 例如
    • :help :w 打开关于命令 :w 的帮助
    • :help w 打开关于命令 w 的帮助

导航

移动屏幕

按键 描述
zt 移动屏幕, 使得光标在窗口顶端
zt 移动屏幕, 使得光标在窗口顶端
zz 移动屏幕, 使得光标在窗口中部
zb 移动屏幕, 使得光标在窗口底部
按键 描述
H 移动光标至屏幕顶端
M 移动光标至屏幕中部
L 移动光标至屏幕底部
按键 描述
gg 移动光标至文件起始处
G 移动光标至文件末尾处

{行号}gg, {行号}G, :{行号} 移动光标至行{行号}

单词

按键 描述
w 将光标移动到前一个单词的起始处
e 将光标移动到当前单词的末尾处;
若已经在末尾, 则移动到前一个单词的末尾处
b 将光标移动到后一个单词的起始处
ge 将光标移动到后一个单词的末尾处

按键 描述
^ 将光标移动到所在行第一个字符处
0 将光标移动到行首
$ 将光标移动到行尾

搜索

按键 描述
f{字符} 在当前行向前搜索并跳转至字符 char 处
F{字符} 在当前行向后搜索并跳转至字符 char 处
t{字符} 在当前行向前搜索并跳转到字符 char 后
T{字符} 在当前行向后搜索并跳转到字符 char 前

使用 , / ; 搜索 后/前 一个字符

按键 描述
/{正则表达式} 在文档中搜索{正则表达式}

使用 N / n 搜索 后/前 一个{正则表达式}

编辑文档

删除和替换

  • d{导航命令} 删除 {导航命令}
    • e.g. dw 删除单词, d$ 删除光标处至行尾的内容,
      d0 删除光标处至行首的内容
  • c{导航命令} 替换 {导航命令}
    • e.g. cw 可以看作执行删除单词命令后再执行命令 i
  • x 删除字符 (等价于 dl)
  • s 替换字符 (等价于 cl)

复制和粘贴

按键 描述
y␣ 复制光标所在处字符
yy 复制光标所在行
yw 复制光标所在单词
y$ 复制光标处至行尾的内容
按键 描述
p 在光标后粘贴
P 在光标前粘贴

撤销和重现

按键 描述
u 撤销上一次操作
Ctrl+r 重现下一次操作

计数

在此处仅举一些命令作为例子, 其它可类推

  • 3w 向前移动 3 个单词
  • 5j 向下移动 5 行
  • 7dw 删除 7 个单词