3

あなたがこのテキストを持っていたとしましょう:

SOMETHING_XXXXXXXXXXXXXX_ELSE
SOMETHING_XXXXXXXXXXXXXX_ELSE2
SOMETHING_XXXXXXXXXXXXXX_ELSE3
SOMETHING_XXXXXXXXXXXXXX_ELSE4

XXX..XXXそして、あなたはすべてをこの単語に置き換えたいと思いました:

HELLOWORLD

XXX..XXXビジュアルモードに入ってから単語をヤンクした場合、カットアンドペーストを使用して上記の4行のを置き換えるにはどうすればよいですか?

試してみると、Xが「クリップボード」に入り、手動で入力するだけで行き詰まってしまいます。

4

4 に答える 4

4

viemuで動作するかどうかはわかりませんが、VIMでは次のことができます...

ヤンクとペーストの使用

テキストを特定のレジスタにヤンクします。ビジュアルモードでテキストを選択し、コマンド"ayを使用してテキストをレジスタにヤンクしますa。次に、貼り付けるときに、レジスタ"apの内容を貼り付けるコマンドを呼び出します。a

通常のコマンドの使用

ただし、通常のコマンドを使用することを強くお勧めします。行を選択するだけです

SOMETHING_XXXXXXXXXXXXXX_ELSE
SOMETHING_XXXXXXXXXXXXXX_ELSE2
SOMETHING_XXXXXXXXXXXXXX_ELSE3
SOMETHING_XXXXXXXXXXXXXX_ELSE4

ラインビジュアルモード(<C-v>)を使用してから、次のコマンドを発行します:'<,'>normal fXct_HELLOWORLD。その後、あなたは持っているでしょう

SOMETHING_HELLOWORLD_ELSE
SOMETHING_HELLOWORLD_ELSE2
SOMETHING_HELLOWORLD_ELSE3
SOMETHING_HELLOWORLD_ELSE4

これは、fXct_HELLOWORLD各行に対してコマンドを実行することを意味します。コマンドについて説明します。

  • fX-最初のXまでカーソルを移動します。
  • ct_-l _まですべてを削除し、挿入モードにします。
  • HELLOWORLD-XXXXXXXXXXXXXXを置き換える単語。
于 2011-10-21T20:14:22.067 に答える
1

1つの方法は、置き換えたいすべてのコードを視覚的に選択し、一度に変更することです。

Ctrl + v 3jt_cHELLOWORLD [Esc]

注:すべての行が更新されるまでに数秒かかります

マクロを作成する別の方法:

レコードマクロ:

q10fXct_HELLOWORLD [esc] q

他の行でマクロを実行します。

j @ 1j @ 1j @ 1

q1は文字1にマクロを記録します

@1はマクロを再生します

しかし、検索と置換はあなたの質問の良い代替手段です

于 2011-10-21T19:58:19.280 に答える
0

ビジュアルモードで4行を強調表示してから、

:'<,'>s/X\+/HELLOWORLD/g
于 2011-10-21T19:50:59.663 に答える
0

この質問を介して:vimレジスタを使用するにはどうすればよいですか?コマンドモードの^Rがレジスタから貼り付けられることがわかりました。

たとえば、XXXXを強調表示してから、「レジスタ::s /^R」/HELLOWORLD/gにヤンクします。

于 2011-10-21T19:56:57.933 に答える