← Vim道場
同じ名前をまとめて直す
変数名を変えるのは日常的な作業です。Vimには一括置換とドット繰り返しという2つの道があり、場面によって速いほうが変わります。両方を手で試して、感覚をつかんでください。
第7章 腕試しレッスン 32 / 33
置換と繰り返しの使い分け
:%s は速いかわりに、意図しない場所まで書き換わることがあります。user を置換したつもりが username まで変わった、というのはよくある事故です。単語として一致させるなら :%s/\<user\>/member/g のように単語境界を書きます。
いっぽう * と . の組み合わせは、1か所ずつ目で見て決められます。* は最初から単語単位で検索するので、部分一致の巻き込みも起きません。数か所なら、こちらのほうが安全です。
確認しながら置換する
:%s/user/member/gc のように c を付けると、1か所ごとに置換するかどうかを聞いてきます。一括置換の速さと目視の安全さの中間です。
このレッスンで扱うキー
| キー | 動き |
|---|---|
| :%s | ファイル全体を置換 |
| * | カーソル位置の単語を検索 |
| ciw | 単語を書き換え |
| . | 直前の変更を繰り返す |
| n | 次の検索結果へ |