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

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


当前回答

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

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

其他回答

如果你在Vim安装中有+剪贴板选项(你可以用:version检查),并且你在可视模式下,你可以执行“+y”,这将把选择拉到缓冲区+,即剪贴板。

我已经添加了以下地图到我的vimrc,它工作正常。

Vmap <leader>y "+y :用这个,我可以用先导键和y在可视模式下复制到剪贴板。

Nmap <leader>p "+p :用这个,我可以用领导键和p从剪贴板粘贴在普通模式。

PD:在Ubuntu上,我必须安装vim-gtk才能获得+剪贴板选项。

任何yank命令前的双引号星号("*)将把结果插入复制缓冲区。这也适用于Windows和Linux。

在我的。vimrc中什么对我有用

set clipboard=unnamed
if has("unnamedplus") " X11 support
    set clipboard+=unnamedplus
endif

如果剪贴板已启用,您可以通过点击“*y”将选定的区域复制到剪贴板

要查看它是否启用,请运行vim——version并查找+clipboard或-clipboard。例如,在我的10.5.6盒子上,它默认是不启用的:

% which vim
/usr/bin/vim
% vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Nov 11 2008 17:20:43)
Included patches: 1-22
Compiled by _www@b77.apple.com
Normal version without GUI.  Features included (+) or not (-):
...
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
...

如果它是用+剪贴板编译的,我就可以使用“*寄存器”来访问系统剪贴板。

我下载了7.2源代码并编译了它(简单如tar xjf vim-7.2.tar. gz)。Bz && CD vim72 && ./configure && make && sudo make install),并且剪贴板已启用:

% which vim
/usr/local/bin/vim
% vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Mar 24 2009 17:31:52)
Compiled by rampion@Myrrhy.local
Normal version with GTK2 GUI.  Features included (+) or not (-):
...
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
...

然而,即使在编译之后,当在终端中运行vim时,我也无法复制到剪贴板。只在X11.app中。

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

尝试先卸载所有的vim,

酿造卸载macvim

酿造卸载——强制vim

重新安装macvim

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

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