vim 替换命令 ":s"
- [1. 替换光标所在行的第一个匹配串](#1. 替换光标所在行的第一个匹配串)
- [2. 替换光标所在行全部匹配项](#2. 替换光标所在行全部匹配项)
- [3. 替换两行之间每行的第一个匹配项](#3. 替换两行之间每行的第一个匹配项)
- [4. 替换两行之间的全部匹配项](#4. 替换两行之间的全部匹配项)
- [5. 替换整个文件中的每个匹配串](#5. 替换整个文件中的每个匹配串)
- [6. 查找整个文件中的每个匹配串并询问是否替换](#6. 查找整个文件中的每个匹配串并询问是否替换)
1. 替换光标所在行的第一个匹配串
命令 :s/old/new
【注意】
- 光标所在行;
- 第一个匹配项。
2. 替换光标所在行全部匹配项
命令 :s/old/new/g
【注意】
- 和上一个命令的注意事项一样;
- 和上一个命令的差别在于最后的 '/g'。
3. 替换两行之间每行的第一个匹配项
命令 :#,#s/old/new
其中 #,# 代表行号
比如,下面的指令把从第 5 行开始到第 99 行的第一个 the 替换为 The,包括第 5 行,也包括第 99 行。
vim
:5,99s/the/The
【注意】
- 起始行和终止行也是作用行;
- 只替换每一行的第一个匹配项。
4. 替换两行之间的全部匹配项
命令 :#,#s/old/new/g
其中 #,# 代表行号
【注意】
- 同上一个命令的注意事项一样;
- 与上一个命令的差别在于最后的 '/g'。
5. 替换整个文件中的每个匹配串
命令 :%s/old/new/g
【注意】
- 整个文件;
- 最前面有个 %。
6. 查找整个文件中的每个匹配串并询问是否替换
命令 :%s/old/new/gc
【注意】
- 同上一个命令的注意事项一样;
- 与上一个命令的差别在于最后的 'c'。