以下是整理后的 Vim 快捷键终极指南,按功能分类并标注使用频率,助你高效掌握:
一、基础模式切换(⭐⭐⭐⭐⭐)
i → 进入插入模式(光标前)
a → 进入插入模式(光标后)
I → 行首插入(第一个非空格字符)
A → 行尾插入
o → 下一行插入(新开一行)
O → 上一行插入
Esc → 返回命令模式(或 Ctrl+[)
v → 字符可视化模式
V → 行可视化模式
Ctrl+v → 块可视化模式
: → 进入命令行模式(如 :wq 保存退出)
二、光标移动(⭐⭐⭐⭐⭐)
基础移动(替代方向键):
h ← 左移
j ↓ 下移
k ↑ 上移
l → 右移
单词 / 行内移动:
w → 下一个单词词首
b ← 上一个单词词首
e → 单词词尾
0 → 行首(第一个字符)
^ → 行首(第一个非空格字符)
$ → 行尾
f{char} → 本行查找下一个 {char}(如 fa 找 a)
t{char} → 本行查找下一个 {char} 前一个位置
; → 重复上一次 f/t 查找
, → 反向重复上一次 f/t 查找
行间 / 文件移动:
gg → 文件开头
G → 文件结尾
nG → 第 n 行(如 10G 到第 10 行)
% → 匹配括号 (), [], {}
H → 屏幕顶部
M → 屏幕中间
L → 屏幕底部
Ctrl+u → 向上滚动半屏
Ctrl+d → 向下滚动半屏
三、文本编辑(⭐⭐⭐⭐⭐)
删除 / 剪切:
x → 删除当前字符
dd → 删除当前行(可用于粘贴)
ndd → 删除 n 行(如 3dd 删除 3 行)
dw → 删除到下一个单词开头
d$ → 删除到行尾
d0 → 删除到行首
d% → 删除到匹配括号
复制 / 粘贴:
yy → 复制当前行
nyy → 复制 n 行
yw → 复制单词
y$ → 复制到行尾
p → 粘贴(光标后)
P → 粘贴(光标前)
替换 / 修改:
r{char} → 替换当前字符(如 ra 替换为 a)
R → 进入替换模式(持续替换)
cw → 删除单词并进入插入模式
u → 撤销
Ctrl+r → 重做
J → 合并当前行与下一行
~ → 切换字符大小写
四、查找与替换(⭐⭐⭐⭐)
查找:
替换:
:%s/old/new/g → 全局替换 old 为 new
:%s/old/new/gc → 全局替换(每次询问)
:s/old/new/ → 当前行第一个匹配项
:n,ms/old/new/g → 第 n 行到 m 行替换
五、文件操作(⭐⭐⭐⭐)
:w → 保存
:w! → 强制保存(只读文件)
:q → 退出
:q! → 强制退出(不保存)
:wq → 保存并退出
:saveas filename → 另存为
:r filename → 读取文件内容到当前位置
:f → 显示当前文件名和状态
六、分屏与标签页(⭐⭐⭐)
分屏:
:sp → 水平分屏
:vsp → 垂直分屏
Ctrl+w w → 切换窗口
Ctrl+w h → 左窗口
Ctrl+w j → 下窗口
Ctrl+w k → 上窗口
Ctrl+w l → 右窗口
Ctrl+w q → 关闭当前窗口
Ctrl+w = → 均等分屏
标签页:
:tabnew → 新建标签页
:tabnext → 下一个标签页
:tabprev → 上一个标签页
:tabclose → 关闭当前标签页
七、高级技巧(⭐⭐⭐)
寄存器:
"ayy → 复制当前行到寄存器 a
"ap → 从寄存器 a 粘贴
:reg → 查看所有寄存器
宏录制:
qa → 开始录制宏到 a
q → 停止录制
@a → 执行宏
10@a → 重复执行 10 次
可视模式操作:
v → 字符选择
V → 行选择
Ctrl+v → 块选择(矩形区域)
选中后:
d → 删除选中内容
y → 复制选中内容
:s/old/new/g → 对选中内容替换
八、配置与帮助(⭐⭐)
临时配置:
:set number → 显示行号
:set nonumber → 隐藏行号
:set tabstop=4 → Tab 宽度为 4
:set expandtab → Tab 转换为空格
:set paste → 粘贴模式(避免格式错乱)
永久配置:
编辑 ~/.vimrc 添加:
vim
set number " 显示行号
set tabstop=4 " Tab 宽度
set expandtab " 使用空格代替 Tab
syntax on " 语法高亮
set autoindent " 自动缩进
set mouse=a " 启用鼠标
帮助:
:help → 打开帮助文档
:help command → 查看命令帮助(如 :help w)
:help subject → 查看主题帮助(如 :help registers)
九、效率组合(⭐⭐⭐⭐⭐)
ciw → 删除当前单词并进入插入模式
di" → 删除双引号内的内容(不包括引号)
da" → 删除双引号及内容
vi" → 选中双引号内的内容
va" → 选中双引号及内容
Ctrl+x Ctrl+f → 文件名补全
Ctrl+x Ctrl+o → 代码补全
十、常用缩写
w → write(保存)
q → quit(退出)
s → substitute(替换)
g → global(全局)
v → visual(可视化)
十一、自定义配置(.vimrc)
可在用户主目录下创建 .vimrc 文件,添加以下常用配置:
vim
" 显示行号
set number
" 设置 Tab 为 4 个空格
set tabstop=4
set shiftwidth=4
set expandtab
" 启用语法高亮
syntax on
" 搜索时不区分大小写
set ignorecase
" 智能搜索大小写(有大写字母时区分)
set smartcase
" 自动缩进
set autoindent
" 鼠标支持
set mouse=a
" 启用撤销文件(持久化撤销历史)
set undofile
