全局命令

命令 / 快捷键 功能描述
:h[elp] 关键字 显示指定关键字的帮助
:sav[eas] 文件名 另存为…
:clo[se] 关闭当前窗口
:ter[minal] 打开新的终端窗口
:! 命令 暂时离开 Vim 到命令行下执行 命令 的显示结果
K 打开光标所在单词对应的 man 页面

移动光标

命令 / 快捷键 功能描述
h 左移光标
j 下移光标
k 上移光标
l 右移光标
H 移动到当前页面顶部
M 移动到当前页面中间
L 移动到当前页面底部
w 移动到下个单词开头
W 移动到下个单词开头(单词含标点)
e 移动到下个单词结尾
E 移动到下个单词结尾(单词含标点)
b 移动到上个单词开头
B 移动到上个单词开头(单词含标点)
% 跳转到配对的符号
0 移动到行首
^ 移动到行首的非空白符
$ 移动到行尾
} 移动到下一个段落(当编辑代码时则为函数/代码块)
{ 移动到上一个段落(当编辑代码时则为函数/代码块)
zz 移动屏幕使光标居中
Ctrl + e 向下移动屏幕一行(保持光标不动)
Ctrl + y 向上移动屏幕一行(保持光标不动)
Ctrl + b 向上滚动一屏
Ctrl + f 向下滚动一屏
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏

插入模式

命令 / 快捷键 功能描述
i 从光标前开始插入字符
I 从行首开始插入字符
a 从光标后开始插入字符
A 从行尾开始插入字符
o 在当前行之下另起一行,开始插入字符
O 在当前行之上另起一行,开始插入字符
ea 从当前单词末尾开始插入
Ctrl + h 在插入模式下,删除光标前的字符
Ctrl + w 在插入模式下,删除光标前的单词
Ctrl + j 在插入模式下,另起一行
Ctrl + t 在插入模式下,向右缩进,宽度由 shiftwidth 控制
Ctrl + d 在插入模式下,向左缩进,宽度由 shiftwidth 控制
Ctrl + n 在插入模式下,在光标之前插入自动补全的下一个匹配项
Ctrl + p 在插入模式下,在光标之前插入自动补全的上一个匹配项
Ctrl + rx 在当前光标处插入 x 寄存器的内容
Esc 退出插入模式

编辑文本

命令 / 快捷键 功能描述
u undo - 撤销最近一次操作
U 恢复/撤销最后修改的行
Ctrl + r redo - 重做(和 u 相反)
. 再次执行上一个命令

选择文本和可视化模式

命令 / 快捷键 功能描述
v 进入可视化模式,移动光标高亮选择,然后,可以对被选中的文本执行命令
V 进行可视化模式,以行为单位进行选择
o 在可视化模式下,让光标在选择区域的开头和结尾进行切换
O 在可视化模式下,切换光标到选择区域的角
Ctrl + v 进入可视化模式,矩阵选择(即列模式)
aw 在可视化模式下,选择当前单词
ab 在可视化模式下,选择被 () 包裹的区域的内容(包含括号)
aB 在可视化模式下,选择被 {} 包裹的区域的内容(包含花括号)
at 在可视化模式下,选择被 <> 包裹的区域的内容(包含 <> 标签)
ib 在可视化模式下,选择被 () 包裹的区域的内容(不包含括号)
iB 在可视化模式下,选择被 {} 包裹的区域的内容(不包含花括号)
it 在可视化模式下,选择被 <> 包裹的区域的内容(不包含 <> 标签)
Esc 退出可视化模式
> 向右缩进
< 向左缩进
y 复制选中的文本
d 剪切选中的文本
~ 对选中的文本进行大小写切换
u 将选中的文本转换为小写
U 将选中的文本转换为大写

退出

命令 / 快捷键 功能描述
:w 将编辑的数据写入硬盘中 (保存)
:w ! 若文件属性为「只读」时,强制写入该文件
:w !sudo tee % 使用 sudo 保存当前文件
:wq 或 :x 或 ZZ 保存并退出
:q 退出(文件已修改且未保存时 Vim 将发出警告)
:q ! 或 ZQ 强制退出(即使文件未保存,相当于强制退出)
:wqa 保存所有标签页,并全部退出

Vim 模式

模式 进入方式
普通模式 EscCtrl+[ 进入,左下角为文件名或空
插入模式 按 i 进入,左下角 --INSERT--
可视模式 按 v 进入,左下角 --VISUAL--
替换模式 按 r 或 R 开始,左下角 --REPLACE--
命令行模式 按 : 或者 / 或者 ? 开始

原文链接:阳帆の小窝

No Wiš'adel !