web-dev-qa-db-ja.com

Vimでは、現在の行のみで検索および置換する方法は?

特定の行で検索および置換する方法 、行番号で指定する、 現在の行を下の行の参照として使用して検索および置換する方法 が表示されます。

現在の行のみを検索して置換するにはどうすればよいですか?リンクされたソリューションのように行番号を指定する必要のない単純なソリューションを探しています。

12
mherzl

特定の行でstr1のすべての出現をstr2に置き換えます。

:s/str1/str2/g

最初に出現したもののみを置換する場合は、gオプションを削除します。

20
Stephen.W

次のように、現在の行に.を使用できます。

:.s/old/new/

これにより、現在の行でのみoldnewずつ変更されます。

14
Toto

現在の行で一致するすべてのWordを検索および置換する場合は、コマンドモードで単純なsubstitute (s)g修飾子と簡単に使用できます。

:s/search/replace/g

現在の行で最初に一致したWordを検索および置換する場合は、コマンドからg修飾子を移動します。

:s/search/replace/

参照::help substitute

5
wlisrausr

確認( 'c')および置換:

:s/foo/bar/gc

「foo」の出現を見つけ、「bar」に置き換える前に確認を求めます。
Vimには次のオプションがあります。

replace with bar (y/n/a/q/l/^E/^Y)?

y/n-自明
a-すべての出現箇所を置き換えます
q-終了
l-電流を置き換えて停止(最後)
^ E/^ Y-ctrl + eおよびctrl + y-それぞれ下および上にスクロールします。

さて、あなたの場合、y、n、lの組み合わせを使用して目的を達成できます。

1
HarshaD