vimのノーマルモードにおけるpやPは、デフォルトの状態だと、ヤンクした後、別の場所を削除して、先ほどヤンクしたものをペーストしようとすると、削除した内容がペーストされます。
これは、直前のヤンクまたは削除を保持する無名レジスタからの貼付けになっているためです。

ヤンクして、別の場所を削除した後に、最初のヤンクを貼りつけたい場合、無名レジスタではなく、0番レジスタを指定する事で実現できます。
pやPで0番レジスタを利用する場合、以下の2行をvimrcに追加するだけでOKです。

nnoremap p "0p
nnoremap P "0P

自分はあんまりレジスタを活用できてないので、一般的なコピー&ペーストに近づけるために無名レジスタから0番レジスタに変更しています。

カテゴリー:

9 thoughts on “pやPを押した時に最後にyankしたテキストを貼り付けるようにする

  1. hamaco より:

    dd -> pが死ぬ気がするけど、yy -> p -> dd -> p的なのよくやる人はこういうのもありかー。

  2. shimooka より:

    そうそう!これこれ!

  3. dd -> pが死ぬ気がするけど、yy -> p -> dd -> p的なのよくやる人はこういうのもありかー。 / “pやPを押した時に最後にyankしたテキストを貼り付けるようにする | この先生きのこるには” http://t.co/ao2TMVIl

  4. 【はてブ新着IT】 pやPを押した時に最後にyankしたテキストを貼り付けるようにする | この先生きのこるには http://t.co/dOO2HVIT

  5. “pやPを押した時に最後にyankしたテキストを貼り付けるようにする | この先生きのこるには” http://t.co/3GZktA0H

  6. RT @yuroyoro: yank-ring.vim使ってるので苦労してない > pやPを押した時に最後にyankしたテキストを貼り付けるようにする | この先生きのこるには : http://t.co/CSWC12mM

  7. こういうお手軽なの好き。この場合は他にもいい方法ありそうだけど http://t.co/nHaTz6WQ

  8. tyru より:

    dとかxは削除ってよりカットアンドペーストのカット。dとかxでレジスタに記憶させたくないならnnoremap x "_xとかやって記憶させないようにすればいいと思う。

  9. dとかxは削除ってよりカットアンドペーストのカット。dとかxでレジスタに記憶させたくないならnnoremap x “_xとかやって記憶させないようにすればいいと思う。 [] pやPを押した時に最後にyankしたテキストを貼り付けるよ… http://t.co/RmLV1Unj

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ねこ認証:9つのパネルの中からねこを3匹選んでください