5

我在 vimscript 中有一个自定义函数,它创建一个字符串,然后将其回显到底部控制台。目前,我使用 cmd-c 复制并粘贴该输出以将其复制到 mac os x 剪贴板。我想通过将 echo 管道传输到 pbcopy 来缩短此工作流程,我尝试过:

:echo "hello" <BAR> !pbcopy

但这当然行不通。我还尝试将输出捕获到寄存器中,然后将其输出:

:@a!pbcopy

但它只是尝试执行存储在@a 中的字符串,这不是vim 命令。我觉得这应该是直截了当的,谢谢。

4

2 回答 2

7

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()
于 2012-09-13T22:57:07.743 回答
2

你用的是什么版本的 Vim?在任何合理的最新版本(通过 Mac Ports/Homebrew 或更好的 MacVim 安装)中,一个简单的

let @*="text"

将放在text剪贴板上。

:h clipboard

于 2012-09-13T21:13:29.710 回答