我在Vim中选择了一个区域。如何将其复制到OS X剪贴板?
(OS X剪贴板可以通过管道写入到/usr/bin/pbcopy)
我在Vim中选择了一个区域。如何将其复制到OS X剪贴板?
(OS X剪贴板可以通过管道写入到/usr/bin/pbcopy)
当前回答
在macos 10.8上,vim是用-clipboard编译的,所以要使用"*y "你需要 编译。幸运的是,brew install vim可以为您轻松编译一个新版本 然后是+clipboard。
其他回答
在macos 10.8上,vim是用-clipboard编译的,所以要使用"*y "你需要 编译。幸运的是,brew install vim可以为您轻松编译一个新版本 然后是+clipboard。
如果你在Vim安装中有+剪贴板选项(你可以用:version检查),并且你在可视模式下,你可以执行“+y”,这将把选择拉到缓冲区+,即剪贴板。
我已经添加了以下地图到我的vimrc,它工作正常。
Vmap <leader>y "+y :用这个,我可以用先导键和y在可视模式下复制到剪贴板。
Nmap <leader>p "+p :用这个,我可以用领导键和p从剪贴板粘贴在普通模式。
PD:在Ubuntu上,我必须安装vim-gtk才能获得+剪贴板选项。
如果剪贴板已启用,您可以通过点击“*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中。
使用寄存器“+”或“*”复制到剪贴板不工作?
原因:你的特定版本的vim编译时没有剪贴板支持。在控制台输入vim——version,你会看到-xterm_clipboard。使用gui包安装vim可以解决这个问题。在ubuntu上,你可以在shell上输入:
Sudo apt-get install vim-gui-common
现在再做vim——控制台版本。最有可能的是,您现在将看到+xterm_clipboard !!
所以,现在你可以复制任何东西到剪贴板使用寄存器+(像“+yy复制当前行到剪贴板)
对于Ubuntu用户,您想要检索用于使用剪贴板的包是vim-full的。其他包(vim-tiny、vim)不包括剪贴板特性。