我在 vimscript 中有一个自定义函数,它创建一个字符串,然后将其回显到底部控制台。目前,我使用 cmd-c 复制并粘贴该输出以将其复制到 mac os x 剪贴板。我想通过将 echo 管道传输到 pbcopy 来缩短此工作流程,我尝试过:
:echo "hello" <BAR> !pbcopy
但这当然行不通。我还尝试将输出捕获到寄存器中,然后将其输出:
:@a!pbcopy
但它只是尝试执行存储在@a 中的字符串,这不是vim 命令。我觉得这应该是直截了当的,谢谢。
Assuming pbcopy takes its input from stdin you could try using system()
:call system('pbcopy', 'hello')
:call system('pbcopy', @a)
For more information see
:h system()
你用的是什么版本的 Vim?在任何合理的最新版本(通过 Mac Ports/Homebrew 或更好的 MacVim 安装)中,一个简单的
let @*="text"
将放在text剪贴板上。
见:h clipboard。