私はFOOをBARに置き換えたいという状況がありました。しかし、私は68〜104行、500〜527行、1044〜1195行のように特定の場所でのみ行いたいと思っています。Vimの検索と置き換え - 特定の行に限定する
:'a,'b s/FOO/BAR/g | 'c,'d s/FOO/BAR/g | 'e,'f s/FOO/BAR/g
私は別の検索で何度、この数十を繰り返し、用語秒を交換しなければならなかった:実際に私は興味のラインでマーカー(MA、MB、MC、...)を滴下し、私は次のよう走りました/ CAT/DOGなどになり、毎回コマンドラインを書き直さなければならなくなってしまった。私は自分の検索範囲を制限したいと思う場所が3つしかなかったので運が良かったです(30または40の場合、コマンドラインがいかに乱雑になるか想像してください)。
関数を書くのは簡単ではありませんが、これを行うためのより純粋な方法がありますか?
関連するメモにあります。私は「S」(検索)にFOOをコピーし登録して、「R」にBAR(置き換え)とこれは私がそれぞれ再書き込みコマンドラインを有する保存しているだろう
:'a,'b s/\[email protected]/\[email protected]/ | 'c,'d s/\[email protected]/\[email protected]/ | 'e,'f s/\[email protected]/\[email protected]/
のコマンドラインを試してみました時間が、それはうまくいきませんでした。置き換えビットは\ r @がうまくいっていましたが、検索パターンの\ = @がエラーを出しました。
ヒントをいただければ幸いです。
また、CONTROL-PとCONTROLを使用することができます-N(私は思う)は前のコマンドを繰り返しています。これにより、コマンドを再入力する必要がなくなります。 – jahroy
それが役に立つのであれば、答えを受け入れるのが普通です。 – epsilonhalbe