菜鸟科技网

vim命令图如何高效记忆与使用?

Vim 核心思想:模式

在学习命令之前,必须理解 Vim 的核心——模式,Vim 的所有操作都围绕着不同的模式展开。

vim命令图如何高效记忆与使用?-图1
(图片来源网络,侵删)
模式名称 进入方式 主要用途
普通模式 启动 Vim 后默认在此模式 核心模式,用于导航、删除、复制、粘贴等操作。
插入模式 在普通模式下按 i, a, o 用于输入文本,类似其他编辑器。
可视模式 在普通模式下按 v, V, Ctrl+v 用于高亮选中文本,以便进行删除、复制等操作。
命令行模式 在普通模式下按 , , 用于执行保存、退出、搜索、替换等命令。

基本流程: 普通模式 -> 按 i/a/o 进入 插入模式 -> 输入文本 -> 按 Esc 返回 普通模式 -> 按 进入 命令行模式 -> 保存退出 wq


Vim 命令图速查表

导航命令 (普通模式)

这些命令用于在文件中快速移动光标,尽量使用手指不离主键区的命令

命令 作用 备注
h 光标向左移动一个字符
j 光标向下移动一行
k 光标向上移动一行
l 光标向右移动一个字符
w 光标移动到下一个单词开头 word
e 光标移动到当前单词末尾 end of word
b 光标移动到上一个单词开头 beginning of word
0 (零) 光标移动到当前行
光标移动到当前行
^ 光标移动到当前行第一个非空白字符
gg 光标移动到文件第一行
G 光标移动到文件最后一行
5G 光标移动到文件第 5 行
Ctrl + u 向上滚动半屏
Ctrl + d 向下滚动半屏
Ctrl + b 向上滚动一屏 back
Ctrl + f 向下滚动一屏 forward

插入命令 (从普通模式进入插入模式)

命令 作用 光标位置
i 在光标进入插入模式
a 在光标进入插入模式
I 在当前行进入插入模式
A 在当前行进入插入模式
o 在当前行下方新建一行并进入插入模式
O 在当前行上方新建一行并进入插入模式
c + 导航命令 删除并进入插入模式 cw (删除单词并插入), c$ (删除到行尾并插入)

删除、复制与粘贴 (普通模式)

Vim 中,复制和粘贴是两个独立的概念,d (delete) 同时兼具剪切功能。

命令 作用 备注
x 删除光标处的一个字符
dd 剪切 (删除) 当前行 常用剪切
dw 剪切 (删除) 一个单词
d$D 剪切 (删除) 从光标到行尾的内容
d^ 剪切 (删除) 从光标到行首的内容
dgg 剪切 (删除) 从当前行到文件首的内容
dG 剪切 (删除) 从当前行到文件尾的内容
y + 导航命令 复制 y 是 "yank" (拉,拽) 的意思
yy 复制 当前行 常用复制
yw 复制 一个单词
y$ 复制 从光标到行尾的内容
p 在光标后**粘贴** 如果复制的是行,则粘贴在当前行下方
P 在光标前**粘贴** 如果复制的是行,则粘贴在当前行上方
u 撤销 上一步操作 undo
Ctrl + r 重做 被撤销的操作 redo
重复 上一次的修改操作 非常强大!

查找与替换 (命令行模式)

命令 作用 备注
从上到下搜索 按回车执行,n 跳到下一个,N 跳到上一个
从下到上搜索 n 跳到上一个,N 跳到下一个
s/old/new 替换当前行的第一个 oldnew
s/old/new/g 替换当前行的所有 oldnew g 表示 global (全局)
%s/old/new/g 替换整个文件的所有 oldnew 表示整个文件
%s/old/new/gc 确认式替换整个文件 每次替换都会提示你确认 (y/n/a/q/l)

文件操作与退出 (命令行模式)

命令 作用 备注
w 保存文件 write
q 退出 Vim quit
wqx 保存并退出 最常用
q! 强制退出,不保存修改 表示强制
w new_file.txt 另存为 new_file.txt
e other_file.txt 打开并编辑 other_file.txt edit
b next 切换到下一个缓冲区 buffer
b prev 切换到上一个缓冲区

可视模式 (普通模式进入)

用于选中一块文本,然后进行操作。

vim命令图如何高效记忆与使用?-图2
(图片来源网络,侵删)
进入命令 作用 操作示例
v 字符可视模式 从光标开始选中,按 hjkl 扩大选区
V (大写) 行可视模式 整行高亮,按 jk 选中多行
Ctrl + v 块可视模式 Vim 独有,选中一个矩形文本块
(选中后) d 删除选中的文本
(选中后) y 复制选中的文本
(选中后) c 删除并进入插入模式
(选中后) > 向右缩进选中的行
(选中后) < 向左缩进选中的行

窗口与标签页

命令 作用
splitsp 水平分割窗口,创建新窗口
vsplitvs 垂直分割窗口
Ctrl + w + 方向键 在窗口间切换光标
Ctrl + w + 让所有窗口等宽/等高
tabnewtabn 新建标签页
gt 切换到下一个标签页
gT 切换到上一个标签页

实战场景举例

假设我们有以下文件内容:

hello world
this is a test file
vim is awesome
  1. 将 "test" 替换为 "example"

    • Esc 确保在普通模式。
    • 输入 /test,回车。
    • 输入 s/test/example,回车。
  2. 删除第二行

    • Esc 确保在普通模式。
    • 2G 跳转到第二行。
    • dd
  3. 复制第三行并粘贴到第一行下方

    vim命令图如何高效记忆与使用?-图3
    (图片来源网络,侵删)
    • Esc 确保在普通模式。
    • 3G 跳转到第三行。
    • yy 复制。
    • G 跳转到文件末尾。
    • P 在上一行(即原第三行)上方粘贴。
    • gg 回到文件顶部,你会看到新粘贴的行。

学习建议

  1. 先记住核心Esc 回到普通模式,hjkl 导航,i/a/o 插入,dd/yy/p 剪切/复制/粘贴,wq 保存退出。
  2. 肌肉记忆:不要死记硬背,多在真实文件中练习,尝试脱离鼠标,只用键盘完成操作。
  3. 善用 : 是 Vim 的灵魂,能极大提升效率,学会用 c, d, > 等配合导航命令,然后用 重复。
  4. 进阶:熟练后可以学习 set 配置、宏录制、插件系统等,让 Vim 更强大。

希望这份命令图能帮助您快速上手 Vim!祝您学习愉快!

分享:
扫描分享到社交APP
上一篇
下一篇