私はこのようなファイルにテキストを持っています:
in IDMAN
ip frghj
テキストを次のようにします。
in *IDMAN
ip *frghj
できるよ:
:%s/\%3c/*
説明:
:s
は代替コマンドで%
あり、はファイル内のすべての行の範囲です/
パターン区切り文字です\%3c
行の3番目の文字で何にも一致しないパターンです*
置換式です通常モードでは、カーソルを大文字I
に合わせます。IDMAN
CTRL-を使用してビジュアルブロックの選択を入力Vし、を使用して1行下に移動しj
ます。
SHIFT-を使用して挿入モードにI入り、目的の文字を入力します。
で通常モードに戻るとESC、残りの行の同じ列に文字が表示されます。
vimの各行*
の正確に3文字の後に文字を追加する方法:
:%s/\(...\)/\1*/
:help :s
、、:help range
を参照してください:help s/\\1
または、もっと短く(@Benoitに感謝します:-))
:%s/.../&*/
参照してくださいhelp s/\&
(これを指摘してくれた@Benoitに感謝します)
サンプルファイルの場合:
in IDMAN
ip frghj
および次の出力(各行の星):
in *IDMAN
ip *frghj
コマンドのシーケンスは次のとおりです(カーソルは、追加が行われる文字上にある必要があります)。
CTRL-vjI*ESC
つまり、次のことを意味します。