vim命令学习之替换
:s / old / new /
Case2: 替换一行中所有出现的old字符串,用new字符串替换
:s / old / new /g
Case3: 替换50-100行中所有出现的old字符串,用new字符串替换
:50,100s / old / new /g
Case4: 替换全文中所有出现的old字符串,用new字符串替换
:%s / old / new /g
Case5: 替换全文中所有出现的old字符串,用new字符串替换, 替换的时候提示是否替换
:%s / old / new /gc
0x02 替换命令的基本语法
全局替换真正使用的是两个ex命令是 :g(global全局)和**:s**(switch替换)。
替换命令的语法如下:
:s / old / new /
(替换一行中第一次出现的old字符串,用new字符串替换)
这将把当前中模式old的第一次出现修改为new。 /(斜杆)是命令不同部分之间的分隔符(当斜杆为该行的最后一个字符时,可不写)
下面这种形式的替换命令:
:s / old / new / g
(替换一行中所有出现的old字符串,用new字符串替换)
把当前行old的每次出现改为new,而不只是该行的第一个old。:s命令允许替换串后面带有选项,上面语法中的g代表全局(g选项影响一行中的每个模式,不要把它与影响文件中所有行的:g命令混淆)
通过在:s命令前加上地址前缀,可以把它的范围扩展到多行。例如下面命令把50行到100行的old的每次出现都改为new:
:50, 100 s / old / new / g
下面的命令把整个文件中的old的每次出现都改为new:
:1, $s / old / new / g
我们知道%等价于1,$,所以上行命令也可以这样写:
:% s / old / new / g
参考
https://www.cnblogs.com/suncoolcat/p/3293986.html
以上是 vim命令学习之替换 的全部内容, 来源链接: utcz.com/z/513675.html