vimコマンドラインから名前付きレジスタを挿入する方法

vimコマンドラインから名前付きレジスタを挿入する方法

vimコマンドラインモードを使用して特定のレジスタの値を挿入するのに問題があります。

normalモードでは、レジスタ値を現在の行の下に配置するシーケンスを入力できます。"*p"*

"*putコマンドラインにコマンドを入力しようとすると、何も起こりません。一方、先ほどコマンドを実行すると、put名前のないレジスタの値が配置されます。

その場合、問題は、コマンドラインモードを使用して名前付きレジスタの内容をどのように入力できるかということです。

編集#1

いくつかの追加テストを行った後、解決策を見つけました。

qz1"cpqまず、シーケンスから貼り付けレジスタをキャプチャする場所を使用します。

qz  -> start recording into register z
1   -> goto line 1
"cp -> put content of register c
q   -> end recording

マクロを:@z実行して必要な手順を実行できます。以下で使用する場合bufdo:

:bufdo execute "normal @z"

このレジスタは、開いているすべてのバッファに新しい行として追加できます。

これは作業方法ですが、マクロなしで同じ作業を行うより効率的な方法があると思います。

答え1

これを行うには、次のコマンドラインバージョンを使用できますput

:put z

完全な構文についてはを:[line]pu[t] [x]参照してください:help :put

注:Vimオタクの牡蠣は次のとおりです。この方法

関連情報