在 Vim 中,你可以使用 :s
命令来替换字符串。这里是一些常见的用法:
1. 替换当前行的第一个匹配项
:s/旧字符串/新字符串/
🔹 仅替换 当前行 中 第一个 匹配的 旧字符串
。
2. 替换当前行的所有匹配项
:s/旧字符串/新字符串/g
🔹 g
代表 全局,即替换当前行的 所有 匹配项。
3. 替换整个文件的匹配项
:%s/旧字符串/新字符串/g
🔹 %
代表整个文件,g
代表全局替换,即替换 所有行 中的 所有匹配项。
4. 逐个确认是否替换(交互模式)
:%s/旧字符串/新字符串/gc
🔹 c
代表 确认模式,每次匹配时都会提示:
y
(是) → 替换当前匹配n
(否) → 跳过当前匹配a
(全部) → 替换所有匹配项,不再询问q
(退出) → 停止替换
5. 只替换某几行的内容
:10,20s/旧字符串/新字符串/g
🔹 只替换 第 10 到 20 行 之间的 所有匹配项。
6. 使用正则匹配替换
:%s/foo[0-9]/bar/g
🔹 例如,把 foo1
foo2
foo3
替换成 bar
。
7. 替换时忽略大小写
:%s/旧字符串/新字符串/gi
🔹 i
代表 忽略大小写(Case insensitive
)。
8. 仅替换整个单词匹配
:%s/\<旧字符串\>/新字符串/g
🔹 仅替换完全匹配的单词,例如:
:%s/\<cat\>/dog/g
cat
→ 替换catch
→ 不会替换