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

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


当前回答

使用映射的最佳方法。

例如:

nnoremap C "+y
vnoremap C "+y
nnoremap cC ^"+y$

这将把大写C映射到剪贴板中,而不改变任何东西。工作与任何vim。

其他回答

我使用:

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

效果很好。

就我而言,我只需要做:

:set mouse=v

请访问superuser.com上的原始解决方案

您可以直观地选择文本并键入: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

使用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 ...

注意+剪贴板

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