フラグcを追加します(vimコマンドプロンプトで):
:%s/old/new/gc
'old'が現れるたびにyes/noプロンプトが表示されます。
Vimの組み込みヘルプは、確認による置換が選択されると利用可能なオプションに関する有用な情報を提供します。つかいます:
:h :s
次に、オプションの確認に関するセクションまでスクロールします。下のスクリーンショット:
たとえば、これと残りのすべての一致を置き換えるには、a
を使用します。
マーク・ビークは以下を使用して指摘しました:
%s/old/new/gc
グローバル検索の場合、各置換の確認に置き換えます。しかし、古いテキストが正しく一致することをインタラクティブに確認することも楽しんでいます。最初に正規表現を使用して検索し、次にそのパターンを再利用します。
/old.pattern.to.match
%s//replacement/gc
s//
は最後の検索パターンを使用します。
c
、たとえばs/abc/123/gc
を探していると思います。これにより、VIMが置換を確認します。詳細については、:help:substituteを参照してください。
私は通常find/substitute/next/repeatコマンドを使用します:-)
/old<CR>3snew<ESC>n.n.n.n.n.n.n.
それはfind "old"
、substitute 3 characters for "new"
、find next
、repeat substitute
などです。
大規模な置換の場合は苦痛ですが、古い置換を選択的に無視することができます(置換を繰り返すために.
の代わりにn
をもう一度押して次のものを見つけるだけです)。
'abc'の出現回数をカウントするだけの場合は、%s/abc//gn
を実行できます。これは何も置き換えませんが、「abc」の出現回数を報告するだけです。
置換テキストで、一致する各出現に対してchangeが必要な場合(つまり、単純な置換を適用するためにYes/Noを選択するだけではない場合)、Vimプラグインを使用できます interactive-replace と呼ばれます。
Neovim に置換をプレビューする機能が追加されました:
https://medium.com/@eric.burel/stop-using-open-source-5cb19baca44d 機能のドキュメント: https://neovim.io/ doc/user/options.html# 'inccommand'