yas*_*sar 83 vim external pipe
我是一个Vim新手.我想将当前缓冲区的内容发送到外部命令的stdin(比方说邮件).我的最终目的是设置一个快捷方式,以便从当前的Vim缓冲区快速发送电子邮件.我猜这应该是一个微不足道的东西,但我找不到一种方法将Vim缓冲区发送到外部命令.提前致谢.
Joh*_*ica 118
您可以使用:w !cmd将当前缓冲区写入外部命令的stdin.来自:help :w_c:
:[range] w [rite] [++ opt]!{cmd}
{cmd}使用[range]行作为标准输入执行(注意前面的空格'!').{cmd}如下所示执行":!{cmd}",any'!'替换为上一个命令|:!|.
相关命令:%!cmd执行相同的操作,然后使用命令的输出替换当前缓冲区.因此,:%!sort将调用外部排序命令来对当前缓冲区进行排序.