📖 知识点
1. 查找(普通模式)
/关键词 # 向下查找
n # 跳到下一个匹配
N # 跳回上一个匹配
和 Windows 的 Ctrl+F 类似:输入
/关键词回车,光标跳到第一个匹配处,按n找下一个。
2. 复制粘贴(普通模式)
| 按键 | 作用 | Windows 对照 |
|---|---|---|
| 复制一行 | Ctrl+C(复制) |
| 粘贴到下一行 | Ctrl+V(粘贴) |
| 剪切一行 | Ctrl+X(剪切) |
yy # 复制当前行
p # 粘贴到下一行
dd # 剪切(删除)当前行,可粘贴
yy复制、p粘贴,是 vim 里最常用的 "搬字" 组合。
3. 查找替换(命令模式)
:%s/旧词/新词/g # 全文替换:所有"旧词"换成"新词"
拆解:
%:整个文件s:替换 (substitute)/旧词/新词:把旧词换成新词g:一行的所有匹配都换(global)
:%s/Python/linux/g # 把全文所有Python换成linux
4. 多行操作小技巧
3dd # 一次删除3行
3yy # 一次复制3行
gg # 跳到文件开头
G # 跳到文件末尾
数字 + 命令 = 重复执行:
3dd就是连续删 3 行。
⚠️ 易错提醒
查找用
/关键词,替换用:%s/旧/新/g,一个是普通模式、一个是命令模式
yy复制、p粘贴、dd剪切,别和 Windows 的 Ctrl 混了数字 + 命令是 "重复几次":
3dd= 删 3 行、5yy= 复制 5 行
⚔️ Kata 实战任务
任务需求:
用 vim 打开(创建)"配置.txt",写入几行含 "Python" 的内容
用
/Python查找,按n跳转,体验查找用
yy复制一行、p粘贴,体验复制粘贴用
:%s/Python/linux/g全文替换用
:wq保存退出,cat验证替换结果
参考代码(在终端依次敲)
# 打开配置文件
vim 配置.txt
# 进入vim后操作:
# 插入模式写入:Python很好用 / 我喜欢Python
# 按 Esc 回普通模式
# /Python 回车,n 跳转,体验查找
# yy 复制一行,p 粘贴
# 输入 :%s/Python/linux/g 回车,全文替换
# 输入 :wq 回车保存退出
# 验证
cat 配置.txt
运行示例:
user@linux:~$ vim 配置.txt
(写入两行,/Python查找,yy复制p粘贴,:%s/Python/linux/g替换,:wq保存)
user@linux:~$ cat 配置.txt
linux很好用
我喜欢linux
linux很好用
💡 说明:原两行含 "Python",替换成 "linux";
yy/p复制粘贴后又多了一行。vim 进阶笔法都生效了。
🧠 思考题
想 "全文把所有 A 替换成 B",该输入什么 vim 命令?
%、s、g各表示什么?yy、p、dd在 vim 里分别对应 Windows 的什么操作?"复制 3 行" 怎么写?