以下是一份 Vim 命令大全,涵盖 编辑模式(Insert Mode)、命令模式(Normal Mode) 和 视图模式(Visual Mode) 的常用操作,适合初学者和进阶用户使用。
🧾 Vim 模式简介
Vim 是一个模式化编辑器,主要有以下几种模式:
正常模式(Normal Mode) | 启动 Vim 默认进入此模式 | 可执行移动光标、复制粘贴等操作 |
插入模式(Insert Mode) | 按 i, a, o 等键进入 | 可以输入文本内容 |
视觉模式(Visual Mode) | 按 v, V, Ctrl + v 进入 | 可以选择文本块进行操作 |
命令行模式(Command-line Mode) | 按 : 或 / 进入 | 执行保存、搜索、替换等命令 |
🔧 一、正常模式(Normal Mode)命令
启动 Vim 默认进入此模式。按下 Esc 可从其他模式返回。
🔍 光标移动
h | 向左移动一个字符 |
j | 向下移动一行 |
k | 向上移动一行 |
l | 向右移动一个字符 |
w | 移动到下一个单词的开头 |
b | 移动到上一个单词的开头 |
e | 移动到当前或下一个单词的结尾 |
0 | 移动到当前行的行首 |
$ | 移动到当前行的行尾 |
gg | 跳转到文件开头 |
G | 跳转到文件末尾 |
nG | 跳转到第 n 行(如 5G 到第 5 行) |
Ctrl + f | 向下翻页 |
Ctrl + b | 向上翻页 |
Ctrl + d | 向下滚动半页 |
Ctrl + u | 向上滚动半页 |
✏️ 编辑操作
x | 删除当前字符 |
X | 删除前一个字符 |
dw | 删除一个单词 |
dd | 删除整行 |
ndd | 删除 n 行(如 3dd 删除 3 行) |
d$ | 删除从光标位置到行尾 |
d0 | 删除从光标位置到行首 |
yy | 复制当前行 |
nyy | 复制 n 行 |
yw | 复制一个单词 |
p | 在光标下方粘贴 |
P | 在光标上方粘贴 |
u | 撤销一次修改 |
Ctrl + r | 重做一次撤销 |
. | 重复上一次编辑操作 |
⚙️ 文件操作
:w | 保存文件 |
:w filename | 另存为 filename |
:q | 退出(无修改时) |
:q! | 强制退出且不保存修改 |
:wq | 保存并退出 |
:wq! | 强制保存并退出 |
:e filename | 打开另一个文件 |
:set number 或 :set nu | 显示行号 |
:set nonumber 或 :set nonu | 隐藏行号 |
:set list | 显示隐藏字符(如空格、Tab) |
:set tabstop=4 | 设置 Tab 宽度为 4 个字符 |
:set autoindent | 自动缩进 |
:set paste | 进入粘贴模式(防止自动缩进干扰) |
:set nopaste | 关闭粘贴模式 |
🔍 搜索与替换
/pattern | 向后搜索 pattern |
?pattern | 向前搜索 pattern |
n | 查找下一个匹配项 |
N | 查找上一个匹配项 |
:%s/old/new/g | 替换整个文件中的 old 为 new |
:1,10s/old/new/g | 替换第 1~10 行中的 old 为 new |
:s/old/new/ | 替换当前行第一个匹配项 |
:s/old/new/g | 替换当前行所有匹配项 |
:s/old/new/gc | 替换当前行所有匹配项,并确认每个替换 |
✍️ 二、插入模式(Insert Mode)
按以下任意键可进入插入模式,按 Esc 返回正常模式。
i | 在光标前插入 |
I | 在行首插入 |
a | 在光标后插入 |
A | 在行尾插入 |
o | 在当前行下方新建一行并插入 |
O | 在当前行上方新建一行并插入 |
s | 删除当前字符并进入插入模式 |
S | 删除当前行并进入插入模式 |
🧮 三、视觉模式(Visual Mode)
按以下任意键进入视觉模式,用于选中文本进行操作。
v | 字符选择模式(Character-wise Visual Mode) |
V | 行选择模式(Line-wise Visual Mode) |
Ctrl + v | 块选择模式(Block-wise Visual Mode) |
o | 切换光标起始点 |
> | 向右缩进选中区域 |
< | 向左缩进选中区域 |
y | 复制选中内容 |
d 或 x | 删除选中内容 |
c | 删除选中内容并进入插入模式 |
: | 对选中区域执行命令(如 :'<,'>s/old/new/g) |
💡 四、命令行模式(Command-line Mode)
按 : 或 / 或 ? 进入该模式,用于执行命令。
:w | 保存 |
:q | 退出 |
:wq | 保存并退出 |
:q! | 不保存强制退出 |
:/pattern | 搜索 pattern 并跳转到第一次出现的位置 |
:help | 打开帮助文档 |
:help keyword | 查找关键字的帮助信息 |
:registers | 查看剪贴板寄存器内容 |
:map | 查看按键映射 |
:syntax on/off | 开启/关闭语法高亮 |
:filetype plugin indent on | 开启智能缩进和插件支持 |
🎨 五、高级技巧(可选)
多窗口分屏 | :split(水平)或 :vsplit(垂直) |
切换窗口 | Ctrl + w + 方向键 |
打开多个文件 | vim file1 file2 |
在多个文件之间切换 | :next / :prev / :first / :last |
加载插件管理器(如 Plug) | :PlugInstall(需配置 vim-plug) |
使用宏录制 | q{a-z} 录制宏,@{a-z} 执行宏 |
快速注释代码(结合插件) | 如 NERD Commenter: <leader>cc 注释选中行 |
📄 六、实用示例
示例 1:查找并替换
:%s/foo/bar/g
将全文中所有 foo 替换为 bar
示例 2:显示行号并跳转到第 50 行
:set number
:50
示例 3:多窗口打开两个文件
:split otherfile.txt
示例 4:快速删除 5 行
5dd
📚 总结表格
进入插入模式 | i, a, o 等 |
返回正常模式 | Esc |
删除字符 | x |
删除行 | dd |
复制行 | yy |
粘贴 | p |
撤销 | u |
重做 | Ctrl + r |
保存 | :w |
退出 | :q |
保存并退出 | :wq |
搜索 | /keyword |
替换 | :%s/old/new/g |
显示行号 | :set number |
进入选择模式 | v, V, Ctrl + v |
如果你是新手,可以先掌握以下核心命令:
i # 进入插入模式
Esc # 返回正常模式
:wq # 保存并退出
😡 # 保存并退出(简写)
dd # 删除一行
yy p # 复制粘贴一行
u # 撤销
Ctrl + r # 重做
评论前必须登录!
注册