Vim 速查表
一份可搜索、可打印的 Vim 参考——模式、移动、编辑、查找与替换、窗口、缓冲区和寄存器。免费。
模式
9Esc
返回 Normal 模式
i / a
在光标前 / 后插入
I / A
在行首 / 行尾插入
o / O
在下方 / 上方新建一行
v
Visual 模式(字符选择)
V
Visual 行模式
Ctrl-v
Visual 块模式(列)
R
Replace 模式(覆盖输入)
:
命令行(Ex)模式
移动
10h j k l
左、下、上、右
w / b
向前 / 向后一个单词
e / ge
下一个 / 上一个单词的词尾
0 / ^ / $
行首 / 首个非空白 / 行尾
gg / G
第一行 / 最后一行
42G / :42
跳到第 42 行
{ / }
上一 / 下一段落
%
跳到匹配的括号
f x / t x
移动到行内下一个 x 处 / 之前
Ctrl-d / Ctrl-u
向下 / 向上滚动半页
编辑操作符
11x / X
删除光标处 / 光标前的字符
dd / D
删除整行 / 删到行尾
dw / diw
删除单词 / 内部单词
cc / C
更改整行 / 更改到行尾
ciw / ci"
更改内部单词 / 引号内内容
yy / yw
复制(yank)行 / 单词
p / P
在光标后 / 前粘贴
r x / ~
替换一个字符 / 切换大小写
u / Ctrl-r
撤销 / 重做
.
重复上一次更改
>> / <<
缩进 / 取消缩进该行
Visual 模式
9v / V
开始字符 / 行选择
Ctrl-v
开始块(列)选择
o
跳到选区的另一端
d / y
删除 / 复制选区
c
更改选区
> / <
缩进 / 取消缩进选区
gu / gU
将选区转为小写 / 大写
gv
重新选中上次的 Visual 选区
I / A
块插入前置 / 后置追加(Ctrl-v)
搜索与替换
9/pattern
向前搜索模式
?pattern
向后搜索模式
n / N
下一个 / 上一个匹配
* / #
向前 / 向后搜索光标下的单词
:%s/old/new/g
替换文件中的全部
:%s/old/new/gc
替换全部并逐一确认
:s/old/new/g
替换当前行的全部
:%s/\<word\>/x/g
仅替换整词
:noh
清除搜索高亮
窗口与标签页
8:sp / :split
水平分割
:vsp / :vsplit
垂直分割
Ctrl-w h/j/k/l
移动到该方向的分割窗口
Ctrl-w w
循环到下一个分割窗口
Ctrl-w q / c
关闭当前分割窗口
Ctrl-w o
关闭所有其他分割窗口
Ctrl-w =
均衡分割窗口大小
:tabnew / gt / gT
新标签页 / 下一个 / 上一个标签页
缓冲区与文件
9:e file
打开 / 编辑文件
:w / :w file
保存 / 另存为
:wq / :x / ZZ
保存并退出
:q / :q!
退出 / 放弃更改退出
:ls / :buffers
列出打开的缓冲区
:b name / :bN
按名称 / 编号切换缓冲区
:bn / :bp
下一个 / 上一个缓冲区
:bd
删除(关闭)缓冲区
:wa / :qa
全部保存 / 全部退出
寄存器与标记
8"ayy
将行复制到寄存器 a
"ap
从寄存器 a 粘贴
"+y / "+p
复制到 / 从系统剪贴板粘贴
:reg
显示寄存器内容
ma
在光标处设置标记 a
`a / 'a
跳到标记 a(精确 / 行)
``
跳回上一个位置
:marks
列出所有标记
宏
7qa
开始录制到寄存器 a
q
停止录制
@a
回放宏 a
@@
重复上次播放的宏
5@a
播放宏 a 五次
:%normal @a
对每一行运行宏 a
"ap → edit → "ay$
粘贴、编辑、再复制宏以修改它
没有条目匹配“:q”。
需要帮助?
使用此工具时遇到问题?请告诉我们的团队。