Vim 常用操作速查表
一、基础模式切换
| 操作命令 | 功能描述 | 适用场景 |
|---|---|---|
i | 进入插入模式(光标前) | 普通模式下插入文本 |
a | 进入插入模式(光标后) | 普通模式下追加文本 |
o | 新建一行并进入插入模式(光标下) | 普通模式下换行输入 |
O | 新建一行并进入插入模式(光标上) | 普通模式下向上换行输入 |
Esc | 退出插入模式,回到普通模式 | 任何模式下返回基础操作 |
: | 进入命令行模式 | 执行保存、退出、查找等指令 |
v | 进入可视模式(字符级) | 选中单个/多个字符 |
V | 进入可视模式(行级) | 选中整行文本 |
Ctrl + v | 进入可视块模式(列级) | 选中列状文本块 |
二、光标移动(普通模式)
| 操作命令 | 功能描述 | 快捷记忆 |
|---|---|---|
h | 光标向左移动 | left(左) |
j | 光标向下移动 | down(下) |
k | 光标向上移动 | up(上) |
l | 光标向右移动 | right(右) |
0 | 光标移到行首 | 数字0 |
$ | 光标移到行尾 | 美元符标识行尾 |
^ | 光标移到行首第一个非空字符 | 区别于0(包含空格) |
gg | 光标移到文件开头 | go to top |
G | 光标移到文件末尾 | go to bottom |
nG/:n | 光标移到第n行 | n为具体行数,如10G到第10行 |
w | 光标移到下一个单词开头 | word(单词) |
b | 光标移到上一个单词开头 | back(回退) |
e | 光标移到当前单词结尾 | end(结尾) |
三、文本编辑(普通模式)
| 操作命令 | 功能描述 | 示例 |
|---|---|---|
x | 删除光标所在字符 | 光标在"a"上,按x删除"a" |
dd | 删除整行 | 按dd删除当前行 |
ndd | 删除n行 | 3dd删除当前行及下2行 |
d$ | 删除光标到行尾 | 保留光标前内容,删除后续 |
d0 | 删除光标到行首 | 保留光标后内容,删除前面 |
yy | 复制当前行 | 复制整行到剪贴板 |
nyy | 复制n行 | 5yy复制当前行及下4行 |
p | 粘贴到光标下一行 | 复制后按p粘贴 |
P | 粘贴到光标上一行 | 大写P向上粘贴 |
u | 撤销上一步操作 | 恢复误删/误改内容 |
Ctrl + r | 重做撤销的操作 | 恢复撤销的内容 |
r | 替换光标所在字符 | 光标在"a"上,按r+b替换为"b" |
cw | 修改当前单词 | 删除单词并进入插入模式 |
cc | 修改整行 | 删除整行并进入插入模式 |
四、查找与替换(命令行模式)
| 操作命令 | 功能描述 | 说明 |
|---|---|---|
/关键词 | 向下查找关键词 | 按n下一个,N上一个 |
?关键词 | 向上查找关键词 | 按n上一个,N下一个 |
:set ic | 开启忽略大小写查找 | ic=ignore case |
:set noic | 关闭忽略大小写 | 恢复大小写敏感 |
:%s/旧内容/新内容/g | 全局替换所有匹配项 | %表示整个文件,g表示全局 |
:%s/旧内容/新内容/gc | 全局替换并确认 | c=confirm,逐个确认是否替换 |
:n,m s/旧内容/新内容/g | 替换n到m行的匹配项 | 如:5,10 s/abc/123/g |
五、窗口管理(命令行模式)
| 操作命令 | 功能描述 | 补充 |
|---|---|---|
:sp 文件名 | 水平分割窗口并打开文件 | 无文件名则分割当前文件 |
:vsp 文件名 | 垂直分割窗口并打开文件 | v=vertical(垂直) |
Ctrl + w + h/j/k/l | 切换到左/下/上/右窗口 | 按Ctrl+w后松开,再按方向键 |
Ctrl + w + = | 统一所有窗口大小 | 均分窗口尺寸 |
:close | 关闭当前窗口 | 保留最后一个窗口 |
:only | 关闭其他窗口,保留当前 | 只显示当前窗口 |
六、文件操作(命令行模式)
| 操作命令 | 功能描述 | 常用场景 |
|---|---|---|
:w | 保存文件 | 保存修改不退出 |
:w 新文件名 | 另存为新文件 | 保留原文件,生成新文件 |
:q | 退出Vim | 未修改时可用 |
:q! | 强制退出不保存 | 放弃所有修改 |
:wq/:x | 保存并退出 | 两种命令效果相同 |
:e 文件名 | 打开指定文件 | 在当前窗口打开新文件 |
:bn | 切换到下一个缓冲区文件 | 多文件编辑时切换 |
:bp | 切换到上一个缓冲区文件 | bp=buffer previous |
七、常用配置(命令行模式)
| 操作命令 | 功能描述 | 临时/永久 |
|---|---|---|
:set nu | 显示行号 | 临时生效,重启Vim失效 |
:set nonu | 隐藏行号 | 关闭行号显示 |
:set ts=4 | 设置制表符为4个空格 | ts=tabstop |
:set expandtab | 制表符转换为空格 | 按Tab插入空格而非制表符 |
:set autoindent | 自动缩进 | 换行时继承上一行缩进 |
:set syntax=on | 开启语法高亮 | 代码文件显示彩色语法 |
| 写入~/.vimrc | 永久生效配置 | 如在文件中加set nu,重启生效 |