如何将寄存器的内容通过管道传输到外部命令的标准输入?我凭直觉尝试了以下方法,但它不起作用(尽管可以说明我的需要):
:"0w !some_command
如果寄存器的内容没有碰巧包含 NULL,那么它很简单
call system('some_command', getreg('r', 1, 1) + (getregtype('r') isnot# 'v' ? [''] : []))
. 如果您知道自己没有可以用来@r
代替getreg()
调用的 NUL,则此表格还将保留可能恰好存在于寄存器中的 NUL。请注意,getreg('r', 1, 1)
即使您以逐行模式复制文本,也不会有尾随换行符,这就是我写+ (getregtype('r') isnot# 'v' ? [''] : [])
添加它的原因(表单@r
没有这个问题)。