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

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


当前回答

使用Homebrew的vim: brew安装vim

Mac(从10.10.3 Yosemite开始)预装了一个系统vim,没有启用剪贴板标志。

您可以自行编译vim并启用该标志,或者简单地使用已正确设置的Homebrew的vim。

要亲自查看这一点,请使用/usr/bin/vim——version检查库存系统vim

你会看到如下内容:

$ /usr/bin/vim --version

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Nov  5 2014 21:00:28)
Compiled by root@apple.com
Normal version without GUI.  Features included (+) or not (-):
... -clientserver -clipboard +cmdline_compl ...

注意-clipboard

而使用homebrew的vim则可以获得

$ /usr/local/bin/vim --version

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled May 10 2015 14:04:42)
MacOS X (unix) version
Included patches: 1-712
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
... +clipboard ...

注意+剪贴板

其他回答

使用Homebrew的vim: brew安装vim

Mac(从10.10.3 Yosemite开始)预装了一个系统vim,没有启用剪贴板标志。

您可以自行编译vim并启用该标志,或者简单地使用已正确设置的Homebrew的vim。

要亲自查看这一点,请使用/usr/bin/vim——version检查库存系统vim

你会看到如下内容:

$ /usr/bin/vim --version

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Nov  5 2014 21:00:28)
Compiled by root@apple.com
Normal version without GUI.  Features included (+) or not (-):
... -clientserver -clipboard +cmdline_compl ...

注意-clipboard

而使用homebrew的vim则可以获得

$ /usr/local/bin/vim --version

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled May 10 2015 14:04:42)
MacOS X (unix) version
Included patches: 1-712
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
... +clipboard ...

注意+剪贴板

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

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

Sudo apt-get install vim-gui-common

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

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

根据我使用的Vim版本,我可以使用+寄存器访问剪贴板。

“Mac OS X剪贴板共享”可能也有一些适合你的想法。

如果不支持+和*缓冲区,Fakeclip会实现它们。

我的主要问题是Vim的默认OSX版本。安装它通过自制添加+剪贴板到构建。

你可以查询:

vim --version

看看它说的是-clipboard还是+clipboard。