あるレジスタから別のレジスタにコピーする


92

クリップボードに貼り付けずに、あるレジスタの内容を別のレジスタにコピーするにはどうすればよいですか?1つのテキストをヤンクしたところ、デフォルトの"レジスタでヤンクされました。"レジスタを削除/上書きせずに別のテキストをコピーしたいと思います。内容を移動したい私はそう"いくつかを言うためにレジスタをab私は新しいテキストの内部をコピーすることができるように登録"。これを行う方法?

回答:


115

レジスタ間で値をコピーまたは交換するには、:letコマンドを使用できますたとえば、bレジスタの内容をa:にコピーします。

:let @a=@b

または、"レジスタの内容を次の場所にコピーしますa

:let @a=@"

いくつかの良いキーマッピングの提案については、このVimのヒントを確認してください。


1
どういうわけか私はこれを機能させることができません。私はこのmcahineにかなり最小限のvimを持っています。これが私の設定の一部です。VIM-Vi IMproved 7.0(2006年5月7日、2011年3月5日21:36:07にコンパイル)含まれるパッチ:1、3-4、7-9、11、13-17、19-26、29-31、34-44 、47、50-56、58-64、66-73、75、77-92、94-107、109、202、34-237 <bugzilla@redhat.com>によってコンパイルされたGUIのない​​小さなバージョン。
ポール

1
@Paulは、私の知る限りでは覚えている小さな小さなサポートしていないのVimの機能セットを:letコマンド。
クリスチャンC.サルバド2014

何を説明できます@か?
Gqqnbig

@レジスタを変数として操作する方法です。詳細は:help let-registerをご覧ください。基本的には@a、レジスタaが格納される変数と考えることができます。
cincodenada 2018年

7

あなたはこのようなことをすることができます:

let @a = getreg('"')

これにより、"レジスターがレジスターにコピーaされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.