1. 概要

この簡単なチュートリアルでは、挿入、通常、およびコマンドモードでテキストを貼り付ける方法を見ていきます。 まず、Vimで利用できる最もよく使用されるレジスタについて説明します。 次に、動作中のレジスタを確認します。

さらに、これらの方法は、NeoVimなどのVimバリアントにも適用できます。

2. Vimレジスタ

Vimレジスタは、テキストを保存するために使用できるメモリ内の一種のバケットです。したがって、後で必要なときにテキストにアクセスできます。 後で貼り付けるデータを保存するクリップボードと同じです。Vimは組み込みレジスタとカスタムレジスタの両方を提供します。 これらのレジスタには、テキストのヤンク(コピー)および貼り付けに使用できる識別子があります。

「キー」を使用してレジスタにアクセスできます。たとえば、通常モードで b レジスタにテキストをヤンクする場合は、「byy」を押すことができます。現在のラインをbレジスタにヤンクします。 これで、レジスタから貼り付ける場合は、「bp」を押すことができます。

Vimにはさまざまなレジスタがありますが、私たちが毎日使用する重要なレジスタについて説明します。

2.1. デフォルトレジスタ

default レジスタは、おそらくVimで最も使用されているレジスタです。 d、x、s、またはcキーで削除または切り取られたテキストを格納します。 デフォルトレジスタは、記号で識別されます。

2.2. システムクリップボードレジスタ

2番目に使用されるレジスタはシステムクリップボードレジスタです。 現在、システムクリップボードに関しては2種類のレジスタがあります。 プライマリセカンダリクリップボードは、それぞれ *+、で識別されます。 これら2つのうちの1つを優先するかどうかは、Linuxディストリビューション次第です。 ただし、通常、マウスの中ボタンを使用すると、テキストはプライマリシステムのクリップボードレジスタにヤンクされます。 一方で、 を使用して選択をコピーするまたはコピーアクションの場合、テキストはセカンダリシステムクリップボードレジスタにヤンクされます。

3. Vimにテキストを貼り付ける

3.1. プライマリシステムクリップボードからの貼り付け

プライマリシステムクリップボードレジスタからテキストを貼り付けるには、*記号を使用できます。 xclip を使用して、テキストをプライマリクリップボードにコピーしてみましょう。

$ uname -a | xclip -sel p

このコマンドは、unameの出力をpまたはprimaryクリップボードにコピーします。 これで、「* pコンボを使用して、通常モードでVimにテキストを貼り付けることができます

一方で、 コマンドモードでテキストを貼り付けることもできます < Ctrl + r> * コンボ:

3.2. 二次システムクリップボードからの貼り付け

セカンダリシステムクリップボードからの貼り付けは、プライマリシステムクリップボードからの貼り付けと同じです。 みなさんご存じのとおり、 +記号を使用してセカンダリクリップボードにアクセスできます。 「+pと +通常モードとコマンドモードでそれぞれ。

ただし、 ホットキーは「+p。 同様に、 テキストをヤンクします + Vimの外部に貼り付けるために登録します。

3.3. デフォルトレジスタからの貼り付け

削除または切り取られたテキストは、デフォルトまたは名前のないレジスタに入ります。 たとえば、最近 dd コンボを介して行を削除した場合、その行はdefaultレジスタに格納されます。 したがって、行を元に戻すか、現在のドキュメントのレジスタから別の場所に貼り付けることができます。

通常モードでテキストを貼り付けるには、「」pコンボを使用できます。レジスタの選択用とデフォルトレジスタ用の2つの二重引用符に注意してください。 ただし、このレジスタは上書きされる可能性があるため、このレジスタに依存しないでください。代わりに、別のレジスタを使用して再利用可能なテキストを保存する必要があります。

コマンドモードでは、を押すことができます からテキストを貼り付ける名前のないレジスタ。

4. 結論

このチュートリアルでは、Vimのさまざまな必須レジスターと、これらのレジスターにアクセスしてテキストをヤンクおよび貼り付ける方法について簡単に説明しました。

さらに、レジスターの詳細については、Vimのコマンドラインで:helpregistersと入力してください。