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

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


当前回答

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

其他回答

command-C吗?这至少适用于从终端内启动的vim。用鼠标选择文本的应用程序。

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

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

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

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

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

您可以直观地选择文本并键入:w !pbcopy<CR>

或者您可以在~/中包含下面的键映射。vimrc文件。它们以可视模式将文本剪切/复制到操作系统的剪贴板中。

vmap <C-x> :!pbcopy<CR>  
vmap <C-c> :w !pbcopy<CR><CR> 

来源:http://drydevelopment.com/blog/vim-pbcopy-on-os-x

对于Ubuntu用户,您想要检索用于使用剪贴板的包是vim-full的。其他包(vim-tiny、vim)不包括剪贴板特性。

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

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

Sudo apt-get install vim-gui-common

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

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