📝 Vim 编辑器从入门到精通:常用快捷键与高效操作笔记
作为一名 Linux 开发者,Vim 是必学的神器。本文整理了最实用的 Vim 命令,涵盖移动、编辑、搜索、替换、保存退出等场景,帮助您快速上手并提升编辑效率。
一、Vim 的三种核心模式
| 模式 |
说明 |
如何进入 |
如何退出 |
| 普通模式 (Normal) |
执行命令、移动光标、删除复制等 |
默认打开 Vim 即进入 |
按 Esc 从任何模式返回 |
| 插入模式 (Insert) |
输入文本内容 |
i, a, o 等 |
Esc |
| 命令模式 (Cmdline) |
执行保存、退出、搜索、替换等 |
普通模式下按 : |
Esc 或执行命令 |
💡 提示:无论身处何种模式,多按几次 Esc 总能回到普通模式。
二、文件打开与保存退出
vim filename
vim +n filename
| 命令 |
作用 |
:w |
保存文件 |
:w filename |
另存为 filename |
:q |
退出(未保存时提示拒绝) |
:q! |
强制退出,不保存修改 |
:wq 或 :x 或 ZZ |
保存并退出 |
:e! |
回滚到上次保存的状态 |
三、光标移动(普通模式)
3.1 基本移动
| 快捷键 |
作用 |
h / j / k / l |
左 / 下 / 上 / 右(也可用方向键) |
0 (数字零) |
跳转到行首第一个字符 |
^ |
跳转到行首第一个非空白字符 |
$ |
跳转到行尾 |
w |
向后跳一个单词(停在词首) |
b |
向前跳一个单词(停在词首) |
e |
向后跳一个单词(停在词尾) |
ge |
向前跳一个单词(停在词尾) |
3.2 行间快速跳转
| 快捷键 |
作用 |
gg |
跳到文件第一行 |
G |
跳到文件最后一行 |
42G 或 42gg |
跳到第 42 行 |
:42 回车 |
同样跳到第 42 行 |
H |
跳到屏幕顶部行 |
M |
跳到屏幕中间行 |
L |
跳到屏幕底部行 |
Ctrl + f |
向下翻一页 (forward) |
Ctrl + b |
向上翻一页 (backward) |
Ctrl + d |
向下翻半页 (down) |
Ctrl + u |
向上翻半页 (up) |
zz |
将当前行置于屏幕中央 |
3.3 跳转历史
| 快捷键 |
作用 |
Ctrl + o |
回到上一个光标位置 |
Ctrl + i |
前进到下一个光标位置 |
四、编辑操作
4.1 进入插入模式
| 快捷键 |
作用 |
i |
在光标前插入 |
a |
在光标后插入 |
I |
在行首插入 |
A |
在行尾插入 |
o |
在下一行新建插入 |
O |
在上一行新建插入 |
cc |
删除整行并进入插入模式 |
C |
删除光标至行尾并进入插入模式 |
4.2 删除(普通模式)
| 快捷键 |
作用 |
x |
删除光标处的字符 |
X |
删除光标前的字符 |
dd |
删除当前行 |
5dd |
删除从当前行开始的 5 行 |
dw |
删除光标后的一个单词 |
d0 |
删除光标前至行首 |
d$ 或 D |
删除光标后至行尾 |
dgg |
删除从当前行到文件首 |
dG |
删除从当前行到文件尾 |
:1,10d |
删除第 1 行到第 10 行 |
4.3 复制与粘贴
| 快捷键 |
作用 |
yy 或 Y |
复制当前行 |
5yy |
复制 5 行 |
yw |
复制一个单词 |
y$ |
复制光标至行尾 |
p |
在光标后粘贴(行粘贴会在下一行) |
P |
在光标前粘贴 |
4.4 撤销与重做
| 快捷键 |
作用 |
u |
撤销上一次操作 |
Ctrl + r |
重做(撤销的逆操作) |
. |
重复上一次修改操作(神器!) |
五、搜索与替换
5.1 普通模式搜索
| 快捷键 |
作用 |
/keyword |
向下搜索 keyword |
?keyword |
向上搜索 keyword |
n |
跳转到下一个匹配项 |
N |
跳转到上一个匹配项 |
* |
搜索光标当前所在的单词(向下) |
# |
搜索光标当前所在的单词(向上) |
5.2 命令模式替换
:s/old/new # 替换当前行第一个 old
:s/old/new/g # 替换当前行所有 old
:%s/old/new/g # 替换整个文件所有 old
:%s/old/new/gc # 替换每个 old 前询问确认
:5,10s/old/new/g # 替换第 5 行到第 10 行
🔍 技巧:搜索时支持正则表达式,如 /^function 搜索行首的 function。
六、显示行号
| 命令 |
作用 |
:set nu 或 :set number |
显示绝对行号 |
:set nonu |
关闭行号 |
:set rnu 或 :set relativenumber |
显示相对行号(方便跳转) |
:set number relativenumber |
同时显示绝对 + 相对行号 |
💡 永久生效:在 ~/.vimrc 中加入 set number。
七、可视模式(选中文本)
| 快捷键 |
作用 |
v |
进入字符可视模式,用 hjkl 选取 |
V |
进入行可视模式,整行选取 |
Ctrl + v |
进入块可视模式(列编辑) |
y / d / p |
复制 / 删除 / 粘贴选中的内容 |
> / < |
向右 / 向左缩进选中行 |
= |
自动缩进选中行 |
块编辑示例:Ctrl+v 选择多列,按 I 输入文字,再按 Esc 即可批量插入。
八、常用组合键速查表
| 快捷键 |
作用 |
>> |
当前行右缩进(shiftwidth) |
<< |
当前行左缩进 |
J |
将下一行合并到当前行 |
~ |
切换光标字符的大小写 |
guw |
将单词转为小写 |
gUw |
将单词转为大写 |
r + x |
将光标处字符替换为 x |
R |
进入替换模式(覆盖输入) |
:%!xxd |
以十六进制查看文件 |
:%!xxd -r |
恢复原文件 |
九、多文件与窗口操作
9.1 分屏
| 命令 |
作用 |
:sp filename |
水平分屏(可省略 filename) |
:vsp filename |
垂直分屏 |
Ctrl + w h / j / k / l |
切换到左/下/上/右屏 |
Ctrl + w q |
关闭当前分屏 |
Ctrl + w = |
平均分配窗口大小 |
Ctrl + w + / - |
调整高度 |
9.2 标签页
| 命令 |
作用 |
:tabnew filename |
新建标签页 |
gt 或 :tabn |
下一个标签页 |
gT 或 :tabp |
上一个标签页 |
十、高级小技巧
| 技巧 |
说明 |
:!command |
在 Vim 内执行 shell 命令(如 :!ls) |
:r !date |
将命令输出插入到当前光标 |
qa 开始录制,q 结束,@a 回放 |
宏录制(自动化重复操作) |
:set ignorecase |
搜索时忽略大小写 |
:set hlsearch |
高亮所有搜索结果 |
:nohlsearch |
临时取消高亮 |
:set wrap / :set nowrap |
自动换行 / 关闭换行 |
写在最后
Vim 的学习曲线较陡,但掌握 20% 的核心命令就能应付 80% 的日常编辑。建议将常用命令做成卡片贴在桌边,逐步形成肌肉记忆。
推荐练习方法:在终端输入 vimtutor,跟随内置教程练习 30 分钟,即可记住大多数基础操作。
📌 本文持续更新,欢迎收藏 + 点赞,有问题评论区交流!
🔗 原创文章,转载注明出处。
所有评论(0)