Vim: copy selection to OS X clipboard

Say you've got an area selected in vim. How can you copy it into the OS X clipboard?

(Hint: the OS X clipboard can be written to via pipe to /usr/bin/pbcopy )


Depending on which version of vim I use, I'm able to use the + register to access the clipboard.

http://vim.wikia.com/wiki/Mac_OS_X_clipboard_sharing may have some ideas that work for you as well.


For MacVim and Windows Gvim, simply add the following to your ~/.vimrc :

set clipboard=unnamed

Now all operations such as yy , D , and P work with the clipboard. No need to prefix them with "* or "+ .


If the clipboard is enabled, you can copy a selected region to the clipboard by hitting "*y

To see if it is enabled, oa vim --version and look for +clipboard or -clipboard . For example, it's not enabled by default on my 10.5.6 box:

% 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
...

If it had been compiled with +clipboard , I'd be able to use the "* register to access the system clipboard.

I downloaded the 7.2 source and compiled it (easy as tar xjf vim-7.2.tar.bz && cd vim72 && ./configure && make && sudo make install ), and the clipboard was enabled:

% 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
...

However, even after compiling, I couldn't copy to the clipboard when running vim in Terminal.app, only in X11.app.

链接地址: http://www.djcxy.com/p/49594.html

上一篇: Android Facebook Graph API更新状态

下一篇: Vim:将选择复制到OS X剪贴板