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

回到顶部