[Vim問題] レジスタの値を貼り付けるキーバインドは何種類?

この記事は約9分で読めます。

この記事では、Vim / Neovim での「レジスタの値を貼り付けるキーバインド」について、ご紹介します。

スポンサーリンク

[解答] 9種類

各モードによって利用できるキーバインドが異なります。

ノーマルモード / ビジュアルモード

p

カーソルの後に、無名レジスタの値を貼り付けます。

ちなみに、数字を入力した後で p を入力すると、カーソルの後に数字の回数分、無名レジスタから貼り付けます。00ちなみに、数字を入力した後で p を入力すると、カーソルの後に数字の回数分、無名レジスタから貼り付けます。

この回数を指定する機能は、ノーマルモードおよびビジュアルモードのいずれのキーバインドでも利用可能です。

Shift + p (大文字

カーソルの前に、無名レジスタの値を貼り付けます。

小文字p で実行した時と同様に、数字を入力した後で p を入力すると、カーソルの後に数字の回数分、無名レジスタから貼り付けます。

" + {レジスタ名} + p

このキーバインドでレジスタ名を指定して、その値をカーソルの後に貼り付けることができます。

ちなみに、レジスタ名は {a-zA-Z0-9.%#:-“} のいずれか一文字を指定します。

{a-zA-Z0-9.%#:-“} 続く操作 (削除、コピー、貼り付け) にレジスタ
           {a-zA-Z0-9.%#:-“} を使う (削除、コピーでは大文字を使う
           ことでレジスタに追記できる)
           ({.%#:} は貼り付けにのみ使用可能)。

VIMリファレンスマニュアル change.jax

上記、公式ヘルプに記載がある通り、貼り付け以外の操作でも活用する指定方法です。

" {レジスタ名} Shift + p(大文字

このキーバインドでレジスタ名を指定して、その値をカーソルの前に貼り付けることができます。

インサートモード

Ctrl + @

レジスタ「.」(最後に挿入されたテキスト)を貼り付けた後、インサートモードを終了します。

公式のヘルプでは下記の通りに記載がありますが、レジスタを使用するのと同じ仕組みです。

直前に挿入されたテキストをもう一度挿入し、挿入を終了する。

VIMリファレンスマニュアル change.jax
Ctrl + Shift + aCtrl + 大文字

レジスタ「.」(最後に挿入されたテキスト)を貼り付けます。インサートモードは終了しません。

公式のヘルプでは下記の通りに記載がありますが、レジスタを使用するのと同じ仕組みです。

直前に挿入されたテキストをもう一度挿入する。

VIMリファレンスマニュアル change.jax

上記2つは貼り付ける内容が同じですが、貼り付けた後の動作が異なります。

Ctrl + r {レジスタ名}

このキーバインドでレジスタ名を指定して、その値をカーソルの後に貼り付けることができます。

ちなみに、レジスタ名は {a-zA-Z0-9.%#:-“} のいずれか一文字を指定します。

Ctrl + r Ctrl + r {レジスタ名}

このキーバインドでもレジスタ名を指定して、その値をカーソルの後に貼り付けることができます。

ちなみに、Ctrl-R を2回指定するキーバインドが、1回指定するキーバインドと異なるのは下記の公式ヘルプをご覧ください。

CTRL-R CTRL-R {0-9a-z”%#*+/:.-=}                        i_CTRL-R_CTRL-R
                レジスタの内容を挿入する。CTRL-R が1つの時と同様に働くが、タイ
                プされたようにではなく、テキストは文字通りに挿入される。これは
                レジスタに<BS>のような文字が含まれていた場合に違いを生じる。例
                えば “ab^Hc” という内容のレジスタaがあった場合:
        CTRL-R a                結果は “ac”.
        CTRL-R CTRL-R a         結果は “ab^Hc”.

VIMリファレンスマニュアル change.jax

かなり分かりづらいですが、レジスタに特殊な値が含まれる場合に無視するか、そのまま貼り付けるかの違いです。

通常は、そこまで意識する必要はないでしょうk。

Ctrl + r Ctrl + o {レジスタ名}

このキーバインドでもレジスタ名を指定して、その値をカーソルの後に貼り付けることができます。

先の2つの指定方法と異なる点は、下記の公式ヘルプをご覧ください。

CTRL-R CTRL-O {0-9a-z”%#*+/:.-=}                        i_CTRL-R_CTRL-O
                レジスタの内容が文字通り挿入され、自動インデントも行われない。
                マウスによる貼り付け <MiddleMouse> と同様である。レジスタが
                linewise の時は、テキストを P と同様に現在行の上に挿入する。
                キャラクタは置き換えられない!
                ‘.’ レジスタ(最後に挿入されたテキスト)は、タイプされたように挿
                入される。

VIMリファレンスマニュアル change.jax

自動インテントなどを無視して貼り付けてくれる機能です。

こちらも利用する頻度が少ない機能でしょう。

コマンドラインモード

Ctrl + r {レジスタ名} 

インサートモードと同じように、 このキーバインドでレジスタ名を指定して、その値をカーソルの後に貼り付けることができます。

ちなみに、レジスタ名は {a-zA-Z0-9.%#:-“} のいずれか一文字を指定します。

Ctrl + r Ctrl + r {レジスタ名}

こちらもインサートモードと同じように、 このキーバインドでレジスタ名を指定して、その値をカーソルの後に貼り付けることができます。

この場合、特殊文字列を含めて貼り付けてくれます。

Ctrl + r Ctrl + o {レジスタ名}  

こちらもインサートモードと同じように、このキーバインドでもレジスタ名を指定して、その値をカーソルの後に貼り付けることができます。

この場合、やはり自動インテントなどを無視して貼り付けてくれます。

Vim レジスタ 貼り付けキーバインド 早見表

モード名ノーマルビジュアルインサートコマンドライン
p
Shift + p
” {レジスタ名} p
” {レジスタ名} Shift + p
Ctrl + @
Ctrl + Shift + a
CTRL-R {レジスタ名}
CTRL-R CTRL-R {レジスタ名}
CTRL-R CTRL-O {レジスタ名}

このVimコマンドの補足情報

  • 利用頻度3.0
  • 便利さ4.0
  • 覚え易さ1.0

関連するVimヘルプ

Vimからは、下記のコマンドでヘルプを確認できます。

:help p
:help P
:help quote
:help i CTRL-@ 
:help i CTRL-A
:help i CTRL-R
:help i CTRL-R CTRL-R
:help i CTRL-R CTRL-O

ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。

参考書籍

こちらの書籍が参考になります。

実践Vim 思考のスピードで編集しよう! (アスキー書籍) | Drew Neil, 新丈 径 | 工学 | Kindleストア | Amazon
AmazonでDrew Neil, 新丈 径の{ProductTitle}。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

Vim/neovim関連の書籍で、もっとも評判が良い(気がする)書籍です。Vim基本動作に関するバイブルと読んでる人もいます。その高い評価は、Amazonのレビューを読んでも間違いありません。

 

Vimテクニックバイブル~作業効率をカイゼンする150の技 | Vimサポーターズ | 工学 | Kindleストア | Amazon
AmazonでVimサポーターズの{ProductTitle}。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

こちらもVim関連の書籍で評価が高い書籍です。Vimを実践で使うノウハウが詰まっていますので、Vimmerなら一読する価値アリです。

 

Vim script テクニックバイブル ~Vim使いの魔法の杖 | Vim scriptサポーターズ |本 | 通販 | Amazon
AmazonでVim scriptサポーターズのVim script テクニックバイブル ~Vim使いの魔法の杖。アマゾンならポイント還元本が多数。Vim scriptサポーターズ作品ほか、お急ぎ便対象商品は当日お届けも可能。またVim script テクニックバイブル ~Vim使いの魔法の杖もアマゾン配送商品なら通常...

Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊。Vim力を伸ばすなら、一度は読んでおくべきかも知れません。

プロフィール
管理人
Vim 一郎

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。

Vim 一郎をフォローする
Vim操作方法
Vim 一郎をフォローする
スポンサーリンク
関連記事
Vim入門
タイトルとURLをコピーしました