web-dev-qa-db-ja.com

vimのfind&replaceで正規表現を使用する

正規表現を使用して、vim内で検索および置換するディレクトリを指定する方法を知りたいです。

例:httpd.confのデフォルトのDocumentRootとディレクトリを変更します。

通常、私は次のコマンドを使用してvim内の個々の文字列を検索して置換しますが、これはディレクトリでは機能しません

:%s/tobefound/tobereplaced/g 
1
nullnv0id

あなたが持っていたとしましょう:

DocumentRoot /var/www/html

そして、/var/www/html/home/webに変更したい場合は、次のことができます。

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

/には「特別な」ものは何もありません。これは、単なる一般的なフィールド区切り文字です。他の文字を使用できます。私の例では、,を使用しました

3
Andy Dalton

tobefoundtobereplacedの両方の/文字は、\/にエスケープする必要があります。そうしないと、find andreplaceコマンドの構文の一部として解釈されます。 。

例えば。 /tmp/abc//srv/def/に置き換えるには、%s/\/tmp\/abc\//\/srv\/def\//gが必要になります

2
Torin