現在、貼り付けバッファを使用してVimで「単語を変更する」方法は?

現在、貼り付けバッファを使用してVimで「単語を変更する」方法は?

貼り付けバッファにいくつかのテキストがあります。たとえば、yw(単語の取り出し)を実行しましたが、バッファに「foo」があります。

それでは、「bar」という言葉に移動してそれを貼り付けバッファに置き換えたいと思います。

テキストを手動で置き換えるには、これを実行してcwから新しい単語を入力します。

「単語の変更」を実行しますが、代替単語を手動で入力するのではなく、貼り付けバッファの内容を使用するにはどうすればよいですか?

今最善の選択肢は、変更したい単語の先頭に行って実行dw(単語を削除)し、別の場所に移動して実行yw(単語を取得)することです。次に、交換領域に戻りp(貼り付け)操作を実行します。これは、特に同じ画面にない場合はやや厄介です。

ベストアンサー1

オプション1

レジスタを使用してこれを実行し、プロセスのキーバインディングを作成できます。

変更したい単語を取り出してくださいyw

インポートされた単語は、0発行して表示できるレジスタにあります:registers

変更したい単語に行き、それをしてくださいcwCtrl+タスクを実行しrてからレジスタを0貼り付けます。0

マッピングは次のとおりです(Ctrl+をjキーの組み合わせとします)。

:map <C-j> cw<C-r>0<ESC>

オプション2(簡単)

単語を取り出したら、変更したい単語にカーソルを置いて実行しますviwp。視覚的に内部の単語を選択して貼り付けることです。

コメント中の@tloに感謝します。あなたもこれを行うことができますvep。一文字短いです。欠点は、単語の先頭にカーソルを置いて(私のように)バッファを変更する必要があることです。

コメント(Michael):

これはいいですね。追加の注:2番目の方法は実際には簡単ですが、交換するたびにバッファが置き換えられるフィールド(前のテキスト)に変更されるため、1回の交換でのみ機能します。最初の方法は使用するのが少し難しいですが、バッファ0が「そのまま」維持されるという利点があるため、この方法を使用して同じテキストを複数回置き換えることができます。

おすすめ記事