vimを利用している際の文字列置換の方法についてまずはいちばん簡単な答えを
:%s/hoge/fuga/g
これだけでファイル内のすべてのhoge
をfuga
に置換できます。
以下に少し説明を書いていきます。
vimでの置換は:s
を使用します。
:%s
とすることで現在開いているファイル内で置換を実行するという意味になります。
まず1番簡単な方法
:%s/hoge/fuga/
でもこれだと
hogefuga
hogehoge
というファイルだと…
fugafuga
fugahoge
というように1行内に複数マッチする場合でも最初にマッチした文字列しか置換されません。
1行内でマッチした文字列すべてを置換したい場合は
:%s/hoge/fuga/g
と最後にg
を入れれば解決です。
更にマッチした文字列を1つずつ確認しながら置換する場合は
:%s/hoge/fuga/c
と最後にc
を入れればいいだけです。
なので
:%s/hoge/fuga/gc
とすればファイル内すべてのマッチした文字列を確認しながら置換できます。
また置換を行う行の範囲を指定したい場合は
:10,20s/hoge/fuga/gc
といったように指定すれば10-20行の間に存在するマッチした文字列のみを置換することができます。
こちらもどうぞ
vimで一気にコメントアウトする方法(複数行の先頭に文字を追加する方法)
参考書籍
入門 Vim: 1時間で学ぶ最強コード編集技術のエッセンス
Vimテクニックバイブル~作業効率をカイゼンする150の技
マスタリングVim