5.1 KiB
5.1 KiB
文本编辑 - Vim
Linux 中最常见的文本编辑器,适合终端快速编辑文件。
1. 三种模式
┌─────────────────────────────────────┐
│ 插入模式 │
│ (i / a / o 进入,输入文本) │
└──────────────┬──────────────────────┘
│ Esc
▼
┌─────────────────────────────────────┐
│ 普通模式 │
│ (默认模式,移动/删除/复制/查找) │
└──────────────┬──────────────────────┘
│ : 或 /
▼
┌─────────────────────────────────────┐
│ 命令行模式 │
│ (:w / :q / :s/// / !cmd) │
└─────────────────────────────────────┘
1.1 普通模式(默认)
- 移动光标、删除、复制、粘贴、查找、执行命令
1.2 插入模式
| 按键 | 说明 |
|---|---|
i |
当前字符前插入 |
a |
当前字符后插入 |
o |
下一行插入新行 |
I |
行首插入 |
A |
行尾插入 |
O |
上一行插入新行 |
按 Esc 返回普通模式。
1.3 命令行模式
在普通模式下输入 : 或 / 进入,用于保存、退出、查找替换、设置选项、执行外部命令。
2. 基础操作
2.1 文件读写
| 命令 | 说明 |
|---|---|
:w |
保存 |
:q |
退出 |
:wq |
保存并退出 |
:q! |
强制退出不保存 |
:w filename |
另存为 |
:r filename |
读取文件内容到当前位置 |
2.2 调用外部命令
| 命令 | 说明 |
|---|---|
:!command |
执行外部命令 |
:r !command |
读取命令输出到当前文件 |
:!ls # 查看当前目录
:r !date # 插入当前日期
2.3 删除、复制、粘贴
| 命令 | 说明 |
|---|---|
d |
删除 |
dd |
删除当前行 |
dw |
删除当前单词 |
y |
复制 |
yy |
复制当前行 |
yw |
复制当前单词 |
p |
粘贴到后面 |
P |
粘贴到前面 |
配合数字:3dd 删除 3 行,2yy 复制 2 行。
2.4 撤销与恢复
| 命令 | 说明 |
|---|---|
u |
撤销 |
Ctrl + r |
重做 |
U |
撤销当前行修改 |
3. 多行编辑(重点)
3.1 可视模式(Visual Mode)
在普通模式下按 v 进入可视模式,选择区域后可执行删除、复制等操作。
| 按键 | 说明 |
|---|---|
v |
进入字符可视模式 |
V |
进入行可视模式 |
Ctrl + v |
进入块可视模式(多列编辑) |
3.2 块可视模式(多列编辑)
Ctrl + v 进入块可视模式后:
- 批量插入:选中多行开头 →
I→ 输入内容 →Esc - 批量删除:选中多列 →
d或x - 批量替换:选中多列 →
r→ 输入替换字符
示例:在多行行首添加 # 注释
1. Ctrl + v 进入块可视模式
2. j/k 或 G 选择多行
3. I 进入插入模式
4. 输入 #
5. Esc 退出(所有选中行行首都会添加 #)
示例:在多行行首删除 #
1. Ctrl + v 进入块可视模式
2. 选择 # 所在列
3. d 删除
3.3 批量缩进
| 命令 | 说明 |
|---|---|
> |
向右缩进 |
< |
向左缩进 |
3> |
连续 3 行向右缩进 |
= |
自动缩进选中区域 |
4. 查找与替换
4.1 查找
/关键字
n # 下一个
N # 上一个
4.2 替换
:s/旧内容/新内容/修饰符
| 修饰符 | 说明 |
|---|---|
i |
忽略大小写 |
g |
全局替换(一行内全部) |
gc |
逐个确认替换 |
4.3 常用示例
:s/old/new/ # 替换当前行第一个
:s/old/new/g # 替换当前行全部
:%s/old/new/g # 替换全文
:%s/old/new/gc # 替换全文(逐个确认)
:1,5s/old/new/g # 替换第 1-5 行
5. 常用设置
| 命令 | 说明 |
|---|---|
:set nu |
显示行号 |
:set nonu |
隐藏行号 |
:set ic |
忽略大小写查找 |
:set ai |
自动缩进 |
:set list |
显示不可见字符 |
:set wrap |
自动换行 |
5.1 文件加密
:set key=password # 设置密码
:set key= # 取消密码
注意:生产环境建议使用系统权限和专业的加密方案。
6. 小结
| 场景 | 关键命令 |
|---|---|
| 基础编辑 | i、a、o、dd、yy、p |
| 多行编辑 | Ctrl + v + I / d |
| 查找替换 | /、:s///g |
| 保存退出 | :wq、:q! |
掌握普通模式、插入模式、命令行模式 + 块可视模式,即可高效完成大多数编辑任务。