我在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 ...

注意+剪贴板

其他回答

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

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

如果您正在使用MacPorts,您可以通过以下方式升级您的VIM以包括剪贴板支持:

port install vim +x +x11

现在你可以使用“+”寄存器将文本直接拉到Mac剪贴板上。效果非常好。

我也遇到了同样的问题,在安装macvim后仍然不能工作,最后我找到了解决的方法:

尝试先卸载所有的vim,

酿造卸载macvim

酿造卸载——强制vim

重新安装macvim

使用-override-system-vim编译安装macvim

然后你可以使用“*y”或“+y”,不必设置clipboard= named

如果你的Vim没有使用剪贴板编译,你希望复制选定的文本而不是整行,你不想安装MacVim或其他GUI,最简单的解决方案是将这一行添加到你的。vimrc:

map <C-c> y:e ~/clipsongzboard<CR>P:w !pbcopy<CR><CR>:bdelete!<CR>

要使用它,只需直观地选择你想要复制的文本,然后Control-C。如果你想要一个完整的解释这一行阅读“如何复制到剪贴板上的vim”。

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