繁体   English   中英

如何在Vim中将寄存器值输出到stdout :: echo命令?

[英]How to output register value to stdout like :!echo command in vim?

我已经做到了:

:reg a

"a   iabc

我想在寄存器中输出值,如:w !xargs -n1 echo命令,但并非所有缓冲区内容都只是寄存器值。

谢谢高级!

:echo getreg('a')

getreg([{regname} [, 1 [, {list}]]])

结果是一个字符串,它是寄存器{regname}的内容。 例:

 :let cliptext = getreg('*') 

未设置{regname}时,结果为空字符串。

getreg('=')返回表达式寄存器的最后一个评估值。 (供在地图中使用。) getreg('=', 1)返回表达式本身,以便可以使用setreg()恢复它。 对于其他寄存器,多余的参数将被忽略,因此您可以随时使用它。 如果存在{list}且为TRUE,则结果类型将更改为List。 每个列表项都是一个文本行。 如果您担心寄存器中可能存在零字节,请使用它:没有第三个参数,NL和零字节都表示为NL(请参阅NL-used-for-Nul)。 未设置寄存器时,将返回一个空列表。 如果未指定{regname} ,则使用v:register

exe包装以在vim命令中使用getreg的值:

:exe ":!echo ".getreg('a')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM