在 vim 中使用正则表达式进行查找和替换

在 vim 中使用正则表达式进行查找和替换

我想知道如何使用正则表达式来指定要在 vim 中查找和替换的目录。

例如:更改 httpd.conf 中的默认 DocumentRoot 和 Directory。

通常我使用以下命令在 vim 中查找并替换单个字符串,但这不适用于目录

:%s/tobefound/tobereplaced/g 

答案1

假设您有:

DocumentRoot /var/www/html

如果你想更改/var/www/html/home/web,你可以这样做:

:%s,/var/www/html,/home/web,g

没有什么“特别”的/,它只是一个公共字段分隔符。您可以使用其他字符;在我的例子中我使用了,

答案2

和中的任何/字符都需要转义为,否则它将被解释为查找和替换命令语法的一部分。tobefoundtobereplaced\/

例如替换/tmp/abc//srv/def/需要%s/\/tmp\/abc\//\/srv\/def\//g

相关内容