0

私はこのようなファイルにテキストを持っています:

in IDMAN
ip frghj

テキストを次のようにします。

in *IDMAN
ip *frghj
4

4 に答える 4

5

できるよ:

:%s/\%3c/*

説明:

  • :sは代替コマンドで%あり、はファイル内のすべての行の範囲です
  • /パターン区切り文字です
  • \%3c行の3番目の文字で何にも一致しないパターンです
  • *置換式です
于 2011-10-05T06:43:48.750 に答える
4

通常モードでは、カーソルを大文字Iに合わせます。IDMAN

ここに画像の説明を入力してください

CTRL-を使用してビジュアルブロックの選択を入力Vし、を使用して1行下に移動しjます。

ここに画像の説明を入力してください

SHIFT-を使用して挿入モードにI入り、目的の文字を入力します。

ここに画像の説明を入力してください

で通常モードに戻るとESC、残りの行の同じ列に文字が表示されます。

ここに画像の説明を入力してください

于 2011-10-05T06:17:17.673 に答える
0

vimの各行*の正確に3文字の後に文字を追加する方法:

:%s/\(...\)/\1*/

:help :s、、:help rangeを参照してください:help s/\\1

または、もっと短く(@Benoitに感謝します:-))

:%s/.../&*/

参照してくださいhelp s/\&(これを指摘してくれた@Benoitに感謝します)

于 2011-10-05T07:20:29.383 に答える
0

サンプルファイルの場合:

in IDMAN
ip frghj

および次の出力(各行の星):

in *IDMAN
ip *frghj

コマンドのシーケンスは次のとおりです(カーソルは、追加が行われる文字上にある必要があります)。

CTRL-vjI*ESC

つまり、次のことを意味します。

  • CTRL-v:ビジュアルブロックモードを開始します
  • j:2行目もマーク
  • I:ブロックの入力モードに入る
  • *:文字を挿入します
  • ESC:視覚入力モードを閉じて、マークされたすべての行に文字が追加されるようにします。
于 2011-10-05T06:17:05.697 に答える