← Vim道場

同じ名前をまとめて直す

変数名を変えるのは日常的な作業です。Vimには一括置換とドット繰り返しという2つの道があり、場面によって速いほうが変わります。両方を手で試して、感覚をつかんでください。

第7章 腕試しレッスン 32 / 33

置換と繰り返しの使い分け

:%s は速いかわりに、意図しない場所まで書き換わることがあります。user を置換したつもりが username まで変わった、というのはよくある事故です。単語として一致させるなら :%s/\<user\>/member/g のように単語境界を書きます。

いっぽう *. の組み合わせは、1か所ずつ目で見て決められます。* は最初から単語単位で検索するので、部分一致の巻き込みも起きません。数か所なら、こちらのほうが安全です。

確認しながら置換する

:%s/user/member/gc のように c を付けると、1か所ごとに置換するかどうかを聞いてきます。一括置換の速さと目視の安全さの中間です。

このレッスンで扱うキー

キー動き
:%sファイル全体を置換
*カーソル位置の単語を検索
ciw単語を書き換え
.直前の変更を繰り返す
n次の検索結果へ

関連記事

レッスン一覧へ戻るキーの逆引き一覧検定を受ける