我在Vim中选择了一个区域。如何将其复制到OS X剪贴板?
(OS X剪贴板可以通过管道写入到/usr/bin/pbcopy)
我在Vim中选择了一个区域。如何将其复制到OS X剪贴板?
(OS X剪贴板可以通过管道写入到/usr/bin/pbcopy)
当前回答
如果剪贴板已启用,您可以通过点击“*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中。
其他回答
使用映射的最佳方法。
例如:
nnoremap C "+y
vnoremap C "+y
nnoremap cC ^"+y$
这将把大写C映射到剪贴板中,而不改变任何东西。工作与任何vim。
当你在Mac上使用MacVim时,你可以使用标准的操作系统键轻松访问剪贴板。
它也完全向后兼容普通的Vim,所以我甚至不需要有一个单独的.vimrc。
对于Ubuntu用户,您想要检索用于使用剪贴板的包是vim-full的。其他包(vim-tiny、vim)不包括剪贴板特性。
对于MacVim和Windows Gvim,只需在~/.vimrc中添加以下内容:
set clipboard=unnamed
现在所有的操作,如yy, D和P工作与剪贴板。不需要在前面加上“*”或“+”。
我目前在OS X 10.9上,我用+xterm_clipboard编译vim的努力没有给我带来任何东西。所以我目前的解决方案是在终端模式下使用MacVim,选项设置clipboard= named在我的~/。vimrc文件。很适合我。