【vim】コピーした文字を上書きして貼り付けたい
問題
コピー(ヤンク)した文字を、別の場所に上書きする形で貼り付けたい。
答え
ビジュアルモードを使う
v ビジュアルモードで貼り付け先を選択して p プットすると、選択範囲を置換できる。
例)
yiw (カーソル位置の単語をヤンク) 貼り付け先へ移動 viw (置換したい範囲をビジュアルモードで選択) p (プット)
名前付きレジスタを使う
名前付きレジスタなら貼り付け先を削除したときに上書きされない。
例)
"ayiw (レジスタaにカーソルのある位置の単語をコピー) 貼り付け先へ移動 diw (貼り付け先の単語を削除) "ap (レジスタaの内容を貼り付け)
番号付きレジスタを使う
番号付きレジスタなら貼り付け先を削除したときに上書きされない。
例)
yiw (カーソルのある位置の単語をコピー → 番号付きレジスタ0に入る) 貼り付け先へ移動 diw (貼り付け先の単語を削除) "0p (直近でヤンクした内容を貼り付け)
コメント