![](/img/trans.png)
[英]How do I capture the output of a vim command in a register, without the newlines?
[英]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.