Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@chibikubo

vimのビジュアルモードでペーストした際にヤンクさせたくない

経緯

vimのvisualモードで貼り付けを2回以上繰り返したいとき、1回目のペーストをヤンクしてしまうため、2回目のペーストが上手くいかない…というときの対応メモです。

解決方法

色々試しましたが、現時点ではこの方法を採用しています。

vnoremap p "_dP

解説すると、ヴィジュアルモードの際は、pを、ブラックホールレジスタへの削除、前方貼り付け、にマッピングを変える、という設定です。
これにより、ヴィジュアルモードでペーストした際は、ヤンクしないようになります。

他の候補

以下でも概ねのことが実現できます。

vnoremap p "0p

これはビジュアルモードのときのpasteに関しては、0番レジスタを使う、という指定。
ビジュアルモードで選択貼り付けした場合、選択テキストの削除→無名レジスタの内容を挿入、という動きになっています。削除は0番レジスタを更新しないため、0番レジスタには前回ヤンクした内容が残っている。その内容を使う、という解決方法です。
ただし、上記動きの影響で、削除した内容を貼り付けたい場合、貼り付けることができない。この問題は人によってはほとんど影響が無い気もしますが、個人的には少し違和感を感じたため、採用しませんでした。

おまけ

この記事を書くために覚えたレジスタ関連のコマンド。

:reg

レジスタを参照する。

vim -i NONE

vimをviminfoを使用せずに起動する。レジスタが空の状態で起動できる。

参考

4
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
4
Help us understand the problem. What is going on with this article?