7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

経緯

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

解決方法

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

vnoremap p "_dP

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

他の候補

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

vnoremap p "0p

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

おまけ

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

:reg

レジスタを参照する。

vim -i NONE

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

参考

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?