viのバッファにある行を置き換える

viのバッファにある行を置き換える

またはccdd貼り付けバッファに行をコピーします。その後、新しい場所に移動します。

表示されている行を置き換えたいので、 と入力しますp Down dd

もっと簡単な方法(キー入力が少ない方法)はありますか?

答え1

V入力して行を選択し、それを置き換えることができますp

答え2

もう一つの方法は"_ddp

"_dd現在の行をヌル バッファに削除します。これにより、コピーした内容が上書きされることがないので、何度も便利だと感じました。 は、p以前にコピーした行を貼り付けます。

キーストロークの点では短くならないかもしれませんが、これがオプションであることを知っておくと非常に役立ちます。

答え3

アンガスとトールが短い答えをカバーしているので、ここではボーナスの調査を紹介します。

何らかの理由で貼り付ける前に削除したい場合は、番号付きレジスタを利用できます。レジスタ"0には、最後のyまたはによってヤンクされたテキストが含まれますYが、削除は含まれません。"1から までの"9レジスタには、最後に実行した 9 回の削除/切り取りが格納されます。つまり、

  • でヤンクした場合はyy、 で置き換えることができますdd"0P
  • ddまたはでカットした場合cc、 を で置き換えることができますdd"2P。(がを埋めるdd"1Pからではありません。)dd"1

:help "0より詳しい情報をご覧ください。

答え4

1行目を3行目に置き換えたい場合、次のようにします。:1m3|2d

これにより、1行目が3行目に移動し、2行目(つまり、古い3行目)が削除されます。

関連情報