Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

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

$
0
0

経緯

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

解決方法

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

vnoremap p "_dP

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

他の候補

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

vnoremap p "0p

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

おまけ

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

:reg

レジスタを参照する。

vim -i NONE

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

参考

https://superuser.com/questions/321547/how-do-i-replace-paste-yanked-text-in-vim-without-yanking-the-deleted-lines


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>