vim 是 Linux 上最强大的文本编辑器,是 vi 的增强版。它是程序员日常使用最多的编辑工具。
vim 是一个模态编辑器,拥有多种模式:普通模式(导航和命令)、插入模式(输入文本)、可视模式(选择文本)、命令行模式(执行命令)。掌握 vim 的基本操作是 Linux 程序员的必备技能。
示例 1:打开文件
vim file.txt
示例 2:打开文件并跳转到指定行
vim +100 file.txt
示例 3:以只读模式打开
vim -R config.yaml
示例 4:打开多个文件
vim file1.txt file2.txt
示例 5:从命令行执行 vim 命令
vim -c "%s/old/new/g" -c "wq" file.txt
| 操作 | 说明 |
|---|---|
i |
进入插入模式(光标前) |
a |
进入插入模式(光标后) |
o |
在下方插入新行 |
O |
在上方插入新行 |
Esc |
返回普通模式 |
v |
进入可视模式(字符) |
V |
进入可视模式(行) |
: |
进入命令行模式 |
| 命令 | 说明 |
|---|---|
h / j / k / l |
左/下/上/右移动 |
w |
下一个单词 |
b |
上一个单词 |
0 |
行首 |
$ |
行尾 |
gg |
文件开头 |
G |
文件末尾 |
Ctrl+f |
下一页 |
Ctrl+b |
上一页 |
| 命令 | 说明 |
|---|---|
x |
删除当前字符 |
dd |
删除当前行 |
yy |
复制当前行 |
p |
粘贴 |
u |
撤销 |
Ctrl+r |
重做 |
/pattern |
搜索 |
n / N |
下一个/上一个匹配 |
| 命令 | 说明 |
|---|---|
:w |
保存 |
:q |
退出 |
:wq |
保存并退出 |
:q! |
不保存强制退出 |
:e file |
打开文件 |
:set nu |
显示行号 |
:set nonu |
隐藏行号 |
:%s/old/new/g |
全局替换 |
:n |
下一个文件 |
:split |
水平分屏 |
| 参数 | 说明 |
|---|---|
-R |
只读模式 |
-b |
二进制模式 |
-n |
不使用 swap 文件 |
-u FILE |
使用指定的 vimrc |
+N |
打开文件并跳到第 N 行 |
+/PATTERN |
打开文件并搜索 PATTERN |
-c CMD |
执行 vim 命令 |
-O |
垂直分屏打开多个文件 |
-o |
水平分屏打开多个文件 |