Vim で 1 回のコマンド呼び出しで、カーソル位置からファイルの末尾までグローバルに検索および置換するにはどうすればよいでしょうか? 質問する

Vim で 1 回のコマンド呼び出しで、カーソル位置からファイルの末尾までグローバルに検索および置換するにはどうすればよいでしょうか? 質問する

通常モードコマンドで検索する場合/ :

/\vSEARCHTERM

Vim はカーソル位置から検索を開始し、下方向に検索を続け、先頭に戻ります。ただし、次の:substituteコマンドを使用して検索と置換を行うと、

:%s/\vBEFORE/AFTER/gc

代わりに、Vim はファイルの先頭から開始します。

Vimでカーソル位置から検索と置換を実行する方法はありますか?そして最後に到達したら上部に折り返しますか?

ベストアンサー1

すでに範囲 を使用しています%が、これはファイル全体を意味する省略形です1,$。現在の行から末尾に移動するには を使用します.,$。ピリオドは現在の行を意味し、 は$最後の行を意味します。したがって、コマンドは次のようになります。

:.,$s/\vBEFORE/AFTER/gc

ただし、.または現在の行は削除できると想定できます。

:,$s/\vBEFORE/AFTER/gc

詳しいヘルプについては

:h range

おすすめ記事