SOFTELメモ

</> 技術者募集

【vim】文字列置換

問題

viで文字列の置換をしたい。

文字列 置換

答え

viで文字列の置換をするには、sコマンドを使用します。

以下で、開いているファイルの全体を置換をします。

:%s/置換前の文字列/置換後の文字列/g

確認しながら置換したい場合は以下のようにcをつけます。

:%s/置換前の文字列/置換後の文字列/gc

パス名などを変更する場合は、/を区切り文字に使うのではなく、;などを区切り文字に使うと簡単です。

:%s;/var/www;/htdocs;gc

特定範囲のみ置換する場合は、置換したい行の範囲を指定する。以下の例では、123行目から456行目までで置換をおこなう。

:123,456s /置換前の文字列/置換後の文字列/g

正規表現も使える。以下の例では、 $abc などが $this->abc に置換される。

:%s/$\(.*\)/$this->\1/g

改行を挿入するには Ctrl+v 押下後に Enter を押せばよい。以下の例では、abcの後に改行を追加できる(abc を abc+改行 に置換する)。

:%s/abc/abc^M/g

関連するメモ

コメント