あたりまえの期待だと思うのだが、vimはひと手間を要する。
問題
Vimでdd
などでテキストを削除したあと、p
やP
でペーストしようとすると、なぜか削除したテキストがペーストされてしまう。ヤンクしたテキストをペーストしたいのに!
解決
~/.vimrc
に以下の設定を追記する。
nnoremap p "0p nnoremap P "0P
https://project-p.jp/halt/2012/06/27/011809/
新たな問題
クリップボードにコピーしたテキストがペーストできなくなった!
ノーマルモードでp
, P
でなく、挿入モードでCtrl
+Shift
+V
で貼り付けられるが、インデントが崩れる。もはやVimのキーマップではなくターミナルのキーマップと思われる。
この問題も同時に解決する最善の方法はないものか……。新問題のほうが致命的なので、結局、今までどおりに戻すことになりそう。使えねー。
環境
以上。以下蛇足。
コレジャナイ
ググると他にも出てきたが、解決できなかった。
- d.hatena.ne.jp/pinoyuki/20120425/p1
nnoremap gy "0P
- mask.hatenadiary.com/entry/2014/06/02/104809
" 削除キーでyankしない nnoremap x "_x "nnoremap d "_d nnoremap D "_D
なぜダメなの? バージョンによる差異? 私はVimScriptについてまったく知識がないため、意味不明の暗号にしか見えない。(p
、d
などがコマンドっぽいのはわかるけど)
grep置換では解決できない
grep置換すればいいと思うが、しばしばgrep対象にしたくない箇所もある。
もし、ヤンクしたテキストを複数箇所にペーストしたいとき、非常にストレス。ペーストする度に、いちいちヤンクし直さねばならないのだ。カーソル移動もあるので、作業量が加速度的に増えていく。
他の方法は思いつかないので、なんとかヤンクしたのをペーストできるようにしたいが。
次回
そもそもヤンクって何? コピーと違うの? 調べてみる。