vimでビジュアルモードの際にペーストがうまく機能しない

【事象】
ビジュアルモードでペーストを行う際にペーストを行うと無名レジスタの値でペーストしてくれる想定が何故か何も起きない

【原因】
以下の設定をgvimrcに設定しているため、ペーストした時に無名レジスタの値がペーストでヤンクした値に先に塗り替えられてしまい、その値でペーストしていたため

:set clipboard+=unnamed

【対応方法】

  • クリップボードの設定は解除する(デフォルトはset clipboardは空なので:set clipboard~の記述を削除でもOK)
  • クリップボードの値でペーストしたい場合は、事前にF2キーを押すことで無名レジスタの値を書き換える設定を追加する
:set clipboard=
nnoremap <silent> <F2> :let @@ = @*<CR>

【その他】

  • ヤンクは何故か無名レジスタに設定されるタイミングでクリップボードにも書き換わるので逆(無名レジスタクリップボードレジスタ)は用意しなかった
  • ビジュアルモードでSHIFT + INSでクリップボードの値書き換えれたらいいのに、Windows × Vim8.2ではうまくいかない(自分のgvimrcが悪い?)
  • set clipboardの評価タイミングを遅らせる(先にペーストした後にヤンクする動き)事ができたらいいが、なさそうなので上記手段に落ち着いた

マスタリングVim

マスタリングVim