05. Vim 基础操作
Vim 是 Linux 服务器上常见的文本编辑器。它功能强大,但初学者需要先理解模式。
1. Vim 的三种常用模式
| 模式 | 作用 | 进入方式 |
|---|---|---|
| 普通模式 | 移动光标、复制、删除、粘贴 | 打开文件后默认进入,或按 Esc |
| 插入模式 | 输入文本 | 在普通模式按 i、a、o 等 |
| 命令行模式 | 保存、退出、搜索、替换 | 在普通模式输入 : 或 / |
任何时候不确定在哪个模式,先按 Esc 回到普通模式。
2. 打开文件
bash
vim file.txt
vim +10 file.txt
vim file1.txt file2.txt常见用法:
| 命令 | 说明 |
|---|---|
vim file.txt | 打开文件,文件不存在会新建 |
vim +10 file.txt | 打开后跳到第 10 行 |
vim file1 file2 | 打开多个文件 |
3. 进入插入模式
在普通模式下:
| 按键 | 说明 |
|---|---|
i | 在光标前插入 |
a | 在光标后插入 |
I | 在当前行行首插入 |
A | 在当前行行尾插入 |
o | 在下一行新建并插入 |
O | 在上一行新建并插入 |
输入完成后按 Esc 回到普通模式。
4. 保存与退出
在普通模式按 : 进入命令行模式:
| 命令 | 说明 |
|---|---|
:w | 保存 |
:q | 退出 |
:wq | 保存并退出 |
:x | 保存并退出 |
:q! | 不保存强制退出 |
:w filename | 另存为指定文件 |
最常用:
vim
:wq不想保存:
vim
:q!5. 光标移动
普通模式下:
| 按键 | 说明 |
|---|---|
h | 左 |
j | 下 |
k | 上 |
l | 右 |
w | 移动到下一个单词开头 |
b | 移动到上一个单词开头 |
0 | 移动到行首 |
^ | 移动到本行第一个非空字符 |
$ | 移动到行尾 |
gg | 跳到文件开头 |
G | 跳到文件末尾 |
数字G | 跳到指定行,如 20G |
6. 删除、复制、粘贴
普通模式下:
| 命令 | 说明 |
|---|---|
x | 删除光标处字符 |
dd | 删除当前行 |
数字dd | 删除多行,如 5dd |
yy | 复制当前行 |
数字yy | 复制多行,如 3yy |
p | 粘贴到光标后或下一行 |
P | 粘贴到光标前或上一行 |
示例:
vim
dd
p表示剪切当前行并粘贴到下一处。
7. 撤销与重做
| 命令 | 说明 |
|---|---|
u | 撤销 |
Ctrl + r | 重做 |
8. 搜索
普通模式下:
vim
/keyword按键:
| 按键 | 说明 |
|---|---|
n | 下一个匹配 |
N | 上一个匹配 |
忽略大小写搜索:
vim
:set ignorecase高亮搜索:
vim
:set hlsearch取消高亮:
vim
:nohlsearch9. 替换
替换当前行第一个匹配:
vim
:s/old/new/替换当前行所有匹配:
vim
:s/old/new/g替换全文所有匹配:
vim
:%s/old/new/g替换前逐个确认:
vim
:%s/old/new/gc参数含义:
| 标记 | 说明 |
|---|---|
% | 全文件 |
g | 一行内全部匹配 |
c | 替换前确认 |
10. 显示行号与缩进
vim
:set number
:set nonumber
:set paste
:set nopaste说明:
| 命令 | 说明 |
|---|---|
:set number | 显示行号 |
:set nonumber | 关闭行号 |
:set paste | 粘贴模式,避免自动缩进混乱 |
:set nopaste | 关闭粘贴模式 |
11. 可视模式
普通模式下:
| 按键 | 说明 |
|---|---|
v | 字符选择 |
V | 行选择 |
Ctrl + v | 块选择 |
选择后可用:
| 按键 | 说明 |
|---|---|
y | 复制 |
d | 删除 |
> | 增加缩进 |
< | 减少缩进 |
12. 多文件与窗口
打开多个文件后切换
vim
:n
:prev
:ls
:b 数字分屏
vim
:split file.txt
:vsplit file.txt窗口间切换:
vim
Ctrl + w,然后按 h/j/k/l13. 初学者速查
| 目标 | 操作 |
|---|---|
| 开始编辑 | i |
| 停止编辑 | Esc |
| 保存 | :w |
| 保存退出 | :wq |
| 不保存退出 | :q! |
| 删除一行 | dd |
| 复制一行 | yy |
| 粘贴 | p |
| 搜索 | /关键词 |
| 撤销 | u |