您的位置首页百科知识

图解vim如何查找和替换文件的内容

图解vim如何查找和替换文件的内容

的有关信息介绍如下:

图解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去除即可。