wiki/运维/Linux/笔记/12.文本编辑-VIM.md
2026-04-09 01:28:15 +08:00

5.1 KiB
Raw Blame History

文本编辑 - 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 进入块可视模式后:

  1. 批量插入:选中多行开头 → I → 输入内容 → Esc
  2. 批量删除:选中多列 → dx
  3. 批量替换:选中多列 → 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. 小结

场景 关键命令
基础编辑 iaoddyyp
多行编辑 Ctrl + v + I / d
查找替换 /:s///g
保存退出 :wq:q!

掌握普通模式、插入模式、命令行模式 + 块可视模式,即可高效完成大多数编辑任务。