在vi里面实现字符串的批量替换

时间:2022-10-16 14:51:46

在vi里面实现字符串的批量替换。

a. 文件内全部替换:

%s#abc#def#g

(用def替换文件中所有的abc)

例如把一个文本文件里面的“xwen.com”全部替换成“xwen.net”:

:%s#xwen.com#xwen.net#g 

(如文件内有#,可用/替换,比如:%s/xwen.com/xwen.net/g)

b. 文件内局部替换:

把10行到50行内的“abc”全部替换成“def”

:10,50s#abc#def#g

(如文件内有#,可用/替换,:%s/abc/def/g)

以上命令如果在g后面再加上c,则会在替换之前显示提示符给用户确认(conform)是否需要替换。 比如

:%s#xwen.com#xwen.net#gc