复制匹配文本以注册

kyk*_*yku 5 vim editing

有没有人知道是否有可能将搜索产生的匹配连接到单个寄存器中?例如,我有一个包含以下内容的文件:

aaa :xxx 123
bb :y 8
ccccc :zzzzz 1923
Run Code Online (Sandbox Code Playgroud)

现在我想要的是在其他地方复制以':'开头的列.不幸的是我无法使用可视块模式,因为第一列没有固定宽度.我以为我可以搜索第二列(:\ w +)并将maches存储到寄存器中.

Bri*_*per 8

其他方式:

:g/:/norm f:"Aye
Run Code Online (Sandbox Code Playgroud)

Per :h quote_alpha,如果使用大写的寄存器名称,它会附加而不是替换寄存器的内容.如果你运行它并检查寄存器的内容"a,你会看到

:xxx:y:zzzzz
Run Code Online (Sandbox Code Playgroud)

(可能使用换行符,具体取决于您的cpoptions设置方式.)