Vim、行の先頭にレジスタからテキストを挿入する

Vim、行の先頭にレジスタからテキストを挿入する

(g)Vim に行の先頭にレジスタから挿入するように指示する方法はありますか? s/^/[text]/ を使用できることはわかっていますが、:g/[text]/ "+p のようなものを考えていますが、これは機能しません。問題は、レジスタの内容をどこに置くかを Vim が決定する方法がないということだと思います。

答え1

一つの方法は次のとおりです:

:g/pattern/s/^/\=@a/

レジスタの内容を、aを含むすべての行の先頭に挿入しますpattern

:help sub-replace-expression
:help expr-register

答え2

P貼り付けに使用できます前にカーソル(およびpその後に貼り付ける)

0したがって、または を含む行の先頭に がある場合は^、 を使用できます"+P

関連情報