Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

[vim] insert mode 中に貼り付けるのまとめ

More than 1 year has passed since last update.

vimのヤンク操作や貼り付け操作は通常、ノーマルモードから実行されます。
しかし、挿入モードから抜けないでドキュメントにテキストを貼り付けたいと思うこともあります。

今回は、insert mode中にコピーしているテキストを貼り付ける方法を備忘録的にまとめています。

挿入モードから抜けないでレジスタから貼り付ける

挿入モード中にヤンクしたばかりのテキストを現在のカーソル位置に貼り付ける場合、

<C-r> 0

というコマンドが使えます。

<C-r>のあとにレジスタを指定することでそのレジスタの内容を挿入モード中に貼り付けることができます。
このコマンドの一般的な形式は以下になります。

<C-r> {register}

( ヘルプ => :h i_ctrl-r )

レジスタの種類

レジスタ名 意味
" 無名レジスタ。最後に 削除/ヤンク したテキストが格納される。
0 ヤンクレジスタ。ヤンクしたテキストが格納される。
a-z 名前付きレジスタ。ユーザが指定した場合に使われる。
% 現在編集しているファイル名が格納されている。
* クリップボードの内容が格納されている。
(ブラウザで Ctrl+cしたものなど)
+ 上と同じ(win, mac)
:reg

でレジスタの内容を確認することができます。

(補足) 特定のレジスタ(a-z)にヤンクする方法

aレジスタにカーソル位置の単語をヤンクする場合、

"ayiw

というコマンドで出来ます。

このコマンドの一般的な形式は以下になります。

"{register}{motion}

挿入モード中に1度だけノーマルモードのコマンドを実行する

挿入モード中に

<C-o>

というコマンドで1度だけノーマルモードのコマンドを実行できる挿入ノーマルモードに切り替えることが出来ます。

<C-o> pというコマンドでも挿入モード中にヤンクしているテキストを貼り付けることができます。

参考文献

挿入モード、コマンドモードで貼り付ける
vimのレジスタ
Vim日本語ドキュメント(レジスタ)
挿入ノーマルモード
vimのinsert modeの全てのキーマップ一覧

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away