いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

vimのヤンクレジスタ ("0) について (ヤンクした内容を保持するレジスタ)

f:id:gsf_zero1:20211217140202g:plain

概要

よく忘れるのでここにメモメモ。。。知っているとちょっと楽できます。

vim には、様々なレジスタがありますが、その中にヤンクレジスタと呼ばれるものがあります。

これ、知ってると便利です。ヤンクレジスタは "0 でアクセスできます。

ヤンクレジスタは、名前の通り直近の「ヤンク」した内容を保持してくれます。

この「ヤンク」した内容だけを保持してくれるってのがミソで、vimでは d や x などの削除系コマンドを実行しても

デフォルトでは無名レジスタ ("") に値が設定されてしまいます。なので

  1. 何かをヤンクする
  2. 別の場所で元の文字列と入れ替えたいので、元の文字列を削除 ( dw とか)
  3. (1) の結果を貼り付け(プット)しようとしたら無名レジスタは (2) の内容になっちゃってる

ということになるのですが、ヤンクレジスタは (1) の値を保持してままになっています。

なので、(3) の部分で 普通に P でプットするのではなくて、 "0P とするとヤンクレジスタから貼り付けることができます。

ちょっと、文字で伝えるとなかなかうまく伝わっていないかもしれませんが、実際に操作してみるとすぐに分かると思います。

参考情報

www.baeldung.com


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。