回答:
gnモーションを使用して、現在の検索一致を編集します。次の例では、現在の一致を「FooBar」に変更します。
cgnFooBar
この手法の優れた点は、を介して変更を繰り返すことができることです.。次の試合があなたが.繰り返すのと同じように変更されると仮定します。または、いくつかの一致をスキップしてからn、を使用します.。
Vimcastsにはこの問題に関する素晴らしいエピソードがあります:gnを使用して検索マッチを操作する
詳細については、以下を参照してください。
:h gn
:%s/oldtext/newstuff/gすべての一致をoldtextに変更しnewstuffます。
/wordまたはで単語をすでに検索している場合?word。
検索語()を空のままにしておく:%s//newword/gcとnewword、以前に検索した単語をで置き換えることができますs//..。
cフラグは、すべての変更を押して、確認すべきであると言うyはいまたはnいいえのために。
見てください:help :s_flags、確認フラグの詳細については、を。
l、aとq(または<Esc>確認サイクルを包むためのさまざまな方法のため)。
方法#1
gnとgNマッピングを利用して、目的を達成できます。 gn最後に使用した検索用語を前方に検索し、一致するものを視覚的に選択します。 gN逆に検索することを除いて、まったく同じことを行います。などの演算子と組み合わせるとc、その演算子が一致に適用されます。たとえば、最後の検索文字列が「foo」のcgn場合、「」と入力すると、「foo」の次のインスタンスを前方検索して削除し、挿入モードにして、置換テキストを入力します。
これらの詳細については:help gn、およびを参照してください:help gN。
方法#2
フラグを:substitute付けてコマンドを使用できますc。これにより、各置換を確認するように求められます。たとえば、ファイル全体でfooをbarに置き換えたいが、それぞれの置き換えを確認したいとします。
:%s/foo/bar/gc
これに関する詳細については、これらのヘルプトピックを参照してください:help :s_flags、:help cmdline-rangesと:help :substitute。
gnので、ここで私はちょうど発見したことを同様の方法だ、:c//e<CR>FooBar<Esc>//<CR>