Unable to copy from vim to system clipboard
Solution 1
This is what works for me (Ubuntu 13.10):
Reinstall vim as vim-gtk:
sudo apt-get install vim-gtk
select what you want using the mouse - then type to copy to clipboard:
"+y
to paste to vim from clipboard type:
"+p
I don't know why but comparing the output of vim --version
shows that the usual vim installation is quite restricted compared to vim-gtk. Replacing vim with vim-gtk did not affect any plugings.
Further information:
- Vim on Ubuntu - cut to system clipboard
- How to make vim paste from (and copy to) system's clipboard?
Solution 2
I am going to leave the original answer below because it may be important for others that search for this question.
In short there doesn't seem to be a one size fits all answer, but with 'set clipboard=unnamedplus' one of either '*p' or '+p' should work from the "system" clipboard.
'*p' is almost certainly the one you want. (from here)
vim is a cli program. When using it inside gnome-terminal (or any terminal emulator) crtl+c (or any key combination) is handled by the terminal emulator first, then the shell, then finally by the program (vim in this case). vim and ctrl+c will almost certainly never work because ctrl+c sends an SIGINT signal to the running task. vim uses SIGINT to stop other things like aborting insert mode, or stopping search functions.
In other words. Ctrl+C is never actually passed to VIM. SIGINT is passed to VIM. SIGINT has other uses in vim so using to copy is likely not going to work (and even if can you force it, not a good idea).
Instead try sticking with Ctrl+Shift+C and Ctrl+Shift+V (there are others but I believe those put text in the system clipboard)
To be fair I don't know much about gvim.
Solution 3
In addition to the accepted answer, if you are working remotely over SSH (e.g. over tmux
with multiple panes with different vim
processes you want to copy between), you also need to export your X display since vim
is using xterm-clipboard
to interface between different processes. You can set the X display by running
export DISPLAY=:0.0
This must be run before vim
is launched, and under any other shell you have.
Solution 4
Use in your vimrc:
set mouse=a
It will allow you to select and copy manually with mouse.
Solution 5
I have found on Ubuntu 16.04 I need vim-gui-common
installed in order for "+y
to work.
Related videos on Youtube
Kaluã Bentes
Updated on September 18, 2022Comments
-
Kaluã Bentes over 1 year
As said in the title I am unable to copy from vim to system clipboard. Viceversa works, copying from outside vim and pasting with
p
is ok.I have installed clipboard support, vim version is 7.3.429:
$ vim --version | grep clip +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +xsmp_interact +xterm_clipboard -xterm_save
I have:
set clipboard=unnamedplus
in my
.vimrc
and it is set when I do:set clipboard?
or
:echo has('clipboard')
I am using Ubuntu 12.04 LTS, and vim inside
gnome-terminal
(but also GVim has the same problem). Any idea?Thanks
-
Kaluã Bentes over 10 yearsMaybe I confused you.. I said using
ctrl-c
OUTSIDE vim and the pasting withp
, but in vim I know I have to usey
.. I'll edit my question -
coteyr over 10 yearsLOL haven't had my caffeine yet, sorry.
-
7hi4g0 about 10 yearsI cannot express how much you helped me and how much I am happy now :D
-
dotancohen over 9 yearsInterestingly, on 14.04 both regular VIM and VIM-GTK have
xterm_clipboard
support, but"+p
does not work in regular VIM. Rather than clipping to the clipboard, it increases the amont of selected lines. -
overthink almost 8 yearsInstalling
vim-gtk
ultimately worked for me in 14.04.4, but I experienced things a bit differently than others commenting. Prior to havingvim-gtk
installed, vim was showing-xterm_clipboard
(i.e. not enabled). After installingvim-gtk
it shows (+xterm_clipboard). I am checking this withvim --version | grep clip
. Anyway, makes sense that you need+xterm_clipboard
! -
linbianxiaocao over 7 yearsThis is a great solution. Actually, I've made this my first thing to do after installing a new Ubuntu OS.
-
Miguel Mota over 7 yearsInstalling vim-gtk worked for me. Thanks
-
Nathan almost 6 yearsAny feedback from people on Ubuntu 16.04 LTS?
-
billjoie over 5 yearsI confirm that this fix still works with Ubuntu 18.04.
-
villapx over 4 yearsPer the VIM docs,
:h registers
: For Unix systems the clipboard is only available when the +xterm_clipboard feature is present. If you look at thevim --version
output before and after installingvim-gui-common
, you'll see that thexterm_clipboard
feature gets added, which is what's needed. (aside: thevim-gui-common
package is basically installinggvim
) -
Trung Nguyen over 2 yearsnot work if use windows terminal to ssh to Server and code in the server