【vim】批量替换文件内容

一、场景

    由于测试时,需要替换配置,手动替换很慢,所以就需要批量替换。

 

二、操作方法

打开需要修改的文件
进入命令模式,输入 :%s/要替换的内容/替换后的内容/g,其中 % 表示对整个文件进行替换,g 表示全局替换。
按下回车键,Vim 会自动替换所有匹配的内容。
你也可以使用正则表达式进行更加灵活的替换操作。例如,如果你想将文件中所有的空格替换为下划线,可以使用以下命令:

:%s/\s/_/g

其中 \s 表示匹配空格,下划线是替换后的内容。

 

三、示例说明

1. 替换当前行

:s/name1/name2/g

仅替换当前行的 name1 为 name2,s 表示 substitute(替换),g 表示替换当前行所有的 name1。

2. 替换整个文档

:%s/name1/name2/g

加 % 表示对整个文档进行替换,即将整个文档的 name1 都替换为 name2。

3. 替换并提示确认

:%s/name1/name2/gc

对整个文档进行替换,但在每次替换时都会提示用户是否进行替换, "c" 表示 "confirm"。

4. 仅替换单词

:%s/<name1>/name2/gc

替换全文档的单词 name1 为 name2,因为 "<" 和 ">" 字符在正则表达式中用于匹配单词的边界,所以只匹配单词 name1,不匹配在句子里面的 name1。

 

四、基于正则替换

1、替换Ip

:$s/192.168.\d\+.\d\+/www.test.com/g

 

posted @ 2023-06-12 11:56  代码诠释的世界  阅读(7767)  评论(1编辑  收藏  举报