我在Vim中选择了一个区域。如何将其复制到OS X剪贴板?

(OS X剪贴板可以通过管道写入到/usr/bin/pbcopy)


当前回答

可视地选择文本和类型:

ggVG
!tee >(pbcopy)

我觉得这比:

ggVG
:w !pbcopy

因为它不会闪现提示符:“按ENTER或键入命令继续”

其他回答

Shift cmd c -设置复制模式 拖动鼠标,选择文本,cmd c复制选定的文本 命令v粘贴

使用寄存器“+”或“*”复制到剪贴板不工作?

原因:你的特定版本的vim编译时没有剪贴板支持。在控制台输入vim——version,你会看到-xterm_clipboard。使用gui包安装vim可以解决这个问题。在ubuntu上,你可以在shell上输入:

Sudo apt-get install vim-gui-common

现在再做vim——控制台版本。最有可能的是,您现在将看到+xterm_clipboard !!

所以,现在你可以复制任何东西到剪贴板使用寄存器+(像“+yy复制当前行到剪贴板)

在macos 10.8上,vim是用-clipboard编译的,所以要使用"*y "你需要 编译。幸运的是,brew install vim可以为您轻松编译一个新版本 然后是+clipboard。

当你在Mac上使用MacVim时,你可以使用标准的操作系统键轻松访问剪贴板。

它也完全向后兼容普通的Vim,所以我甚至不需要有一个单独的.vimrc。

我使用:

map <C-x> :!pbcopy<CR>
vmap <C-c> :w !pbcopy<CR><CR>

效果很好。