模式切换 |
i |
进入插入模式(在光标前插入文本)。 |
|
a |
进入插入模式(在光标后插入文本)。 |
|
o |
在当前行下方插入新行并进入插入模式。 |
|
O |
在当前行上方插入新行并进入插入模式。 |
|
Esc |
退出插入模式,返回命令模式。 |
|
: |
进入命令模式(用于输入命令,如保存、退出等)。 |
光标移动 |
h |
向左移动光标。 |
|
j |
向下移动光标。 |
|
k |
向上移动光标。 |
|
l |
向右移动光标。 |
|
0 |
移动到行首。 |
|
$ |
移动到行尾。 |
|
gg |
移动到文件开头。 |
|
G |
移动到文件末尾。 |
|
<n>G |
移动到第 n 行(例如 5G 移动到第 5 行)。 |
|
Ctrl + f |
向下翻页。 |
|
Ctrl + b |
向上翻页。 |
文本编辑 |
x |
删除光标处的字符。 |
|
dd |
删除当前行。 |
|
<n>dd |
删除从当前行开始的 n 行(例如 3dd 删除 3 行)。 |
|
yy |
复制当前行。 |
|
<n>yy |
复制从当前行开始的 n 行(例如 3yy 复制 3 行)。 |
|
p |
粘贴到光标后。 |
|
P |
粘贴到光标前。 |
|
u |
撤销上一次操作。 |
|
Ctrl + r |
重做上一次撤销的操作。 |
|
r |
替换光标处的字符。 |
|
cw |
删除从光标处到单词结尾的内容并进入插入模式。 |
|
cc |
删除当前行并进入插入模式。 |
查找与替换 |
/<pattern> |
向下查找指定模式(例如 /hello 查找 hello )。 |
|
?<pattern> |
向上查找指定模式。 |
|
n |
跳转到下一个匹配项。 |
|
N |
跳转到上一个匹配项。 |
|
:%s/<old>/<new>/g |
全局替换(将文件中所有的 old 替换为 new )。 |
|
:%s/<old>/<new>/gc |
全局替换,每次替换前确认。 |
保存与退出 |
:w |
保存文件。 |
|
:w <filename> |
另存为指定文件名。 |
|
:q |
退出编辑器(如果没有修改)。 |
|
:q! |
强制退出,不保存修改。 |
|
:wq 或 :x |
保存并退出。 |
|
ZZ |
保存并退出(命令模式下直接输入)。 |
分屏操作 |
:sp <filename> |
水平分屏打开文件。 |
|
:vsp <filename> |
垂直分屏打开文件。 |
|
Ctrl + w + w |
在分屏窗口间切换。 |
|
Ctrl + w + q |
关闭当前分屏窗口。 |
其他操作 |
. |
重复上一次操作。 |
|
J |
将当前行与下一行合并。 |
|
>> |
缩进当前行。 |
|
<< |
取消当前行缩进。 |
|
:set number |
显示行号。 |
|
:set nonumber |
隐藏行号。 |
|
:set paste |
进入粘贴模式(避免自动缩进)。 |
|
:set nopaste |
退出粘贴模式。 |
Vim 特有 |
Ctrl + n |
自动补全(在插入模式下使用)。 |
|
:e <filename> |
打开另一个文件。 |
|
:bn |
切换到下一个缓冲区。 |
|
:bp |
切换到上一个缓冲区。 |
|
:bd |
关闭当前缓冲区。 |
|
:help <command> |
查看帮助文档(例如 :help :w )。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?