图解vim如何查找和替换文件的内容
的有关信息介绍如下:
在用Linux操作文件时,经常需要将文件中的部分字符串替换为指定的字符串,如果手动挨个替换则效率低且容易出错,本文主要了如果利用vim命令来快速进行多种模式的文本替换操作(单行替换、多行替换及全文替换)。
我们以操作文件db_install.rsp为例进行介绍,执行命令vimdb_install.rsp打开要操作的文件,如下图所示(下面截取了此文件的1-33行)
可以发现此文件中有很多地方出现了oracle字符串,那我们接下来就以将oracle替换为hello进行详细介绍。
在命令模式下执行已以下命令可以进行全文搜索:
/oracle [/表示向下查找]
?orace[?表示向上查找]
上面两个命令可以配合n,N来执行【查找下一个】操作,n表示向下【查找下一个】,N表示向上【查找下一个】】
命令: s/oracle/hello
说明:将20行的第一个oracle替换为hello
操作步骤:将光标定位到20行,在命令模式下输入命令s/oracle/hello,按回车执行命令后可以发现20行的第一个oracle被替换为了hello。
命令: s/oracle/hello/g
说明:将20行的所有oracle替换为hello
操作步骤:将光标定位到20行,在命令模式下输入命令s/oracle/hello/g,按回车执行命令后可以发现20行的第所有oracle被替换为了hello。
备注:最后的一个参数g(即global)表明要替换该行的所有oracle。
命令: A,Bs/oracle/hello
说明:参数A表明开始行,B表示结束行,如果B为$,则表示为最后一行。此命令表示从A行开始到B行结束的每行的第一个oracle要替换为hello。
举例:在命令模式下输入命令20,30s/oracle/hello,按回车执行命令后可以发现20-30行的每行第一个oracle被替换为了hello。
命令:A,Bs/oracle/hello/g
说明:此命令表示从A行开始到B行结束的每行的每一个oracle要替换为hello。
举例:在命令模式下输入命令20,30s/oracle/hello/g,按回车执行命令后可以发现20-30行的所有oracle被替换为了hello。
命令:%s/oracle/hello/g
说明:此命令表示将当前文件的所有oracle替换为hello。
举例:在命令模式下输入命令20,30s/oracle/hello/g,按回车执行命令后可以发现文件的所有行的所有oracle被替换为了hello。
注意:如果想替换所有行的第一个oracle,则只需要将参数/g去除即可。



