viで複数のコピーをペースト仕分ける

便利な割に使う頻度があまりなく、いつも忘れてしまので、覚えるために記事にします。

viは、”yy”で1行コピー、”p”でペーストができますが、この方法だと一度に保持できるコピー情報は1つだけです。複数行をコピーする場合は、”2(行数)yy”でコピー、”p”でペーストです。この場合も一度に保持できるコピー情報は1つだけです。

この保持できる数が複数欲しいときがあるんです。例えば、プログラムを修正する際に前後にいれる以下のようなコメントとかです。

// 2010.01.08 co-hey mod start
  $hoge = $hoge + 1;
// 2010.01.08 co-hey mod end

同じ日に修正した箇所には全部同じコメントを入れるのに、毎回手書きしてたのでは、面倒ですよね。こういうときは、startのコメント行と、endのコント行の2つコピーして保持しておきたいのです。

そういうときに使えるこの方法です。

“shift + 2″ の後、”好きなキー”の後、”yy”
で、”好きなキー”で押したキーにコピーを割り当てることができます。
ペースとする場合は、
“shift + 2″ の後、”好きなキー”の後、”p”
としたらOKです。

“shift + 2” -> “s” -> “yy” でスタートコメントを、
“shift + 2” -> “e” -> “yy” でエンドコメントをコピーしておけば、
“shift + 2” -> “s” -> “p” でスタートコメントを、
“shift + 2” -> “e” -> “p” でエンドコメントをペーストできます。

便利ですよー