特定の行で検索および置換する方法 、行番号で指定する、 現在の行を下の行の参照として使用して検索および置換する方法 が表示されます。
現在の行のみを検索して置換するにはどうすればよいですか?リンクされたソリューションのように行番号を指定する必要のない単純なソリューションを探しています。
特定の行でstr1
のすべての出現をstr2
に置き換えます。
:s/str1/str2/g
最初に出現したもののみを置換する場合は、g
オプションを削除します。
次のように、現在の行に.
を使用できます。
:.s/old/new/
これにより、現在の行でのみold
がnew
ずつ変更されます。
現在の行で一致するすべてのWordを検索および置換する場合は、コマンドモードで単純なsubstitute (s)
をg
修飾子と簡単に使用できます。
:s/search/replace/g
現在の行で最初に一致したWordを検索および置換する場合は、コマンドからg
修飾子を移動します。
:s/search/replace/
参照::help substitute
確認( '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の組み合わせを使用して目的を達成できます。