我想知道如何使用正则表达式来指定要在 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
和中的任何/
字符都需要转义为,否则它将被解释为查找和替换命令语法的一部分。tobefound
tobereplaced
\/
例如替换/tmp/abc/
为/srv/def/
需要%s/\/tmp\/abc\//\/srv\/def\//g