vim のペーストとマクロにおけるレジスタの利用について

ちょっとだけ調べた.

ペーストとマクロは,レジスタの中身を

  • 貼り付ける (ペースト)
  • 実行する (マクロ)

の違いがある.
たとえば,a レジスタに ihoge~] とある場合を考える.(~] は C-V, C-])
"ay としてペーストするとそのまま ihoge~] と表示される.
@a としてマクロとすると hoge と表示される.

つまり,a レジスタの中身を

  • ペースト内容として解釈すると,そのままが貼り付けられる.
  • マクロとして解釈すると,i でインサートモードになって hoge と入力して ~] で編集モードに戻る.(vim での動作通り)

ということがわかった.