Cut to the system clipboard from Vim on Ubuntu
Solution 1
Your version of Vim doesn't support X, which is required for clipboard access. By default, Ubuntu ships several builds of vim and only the GUI variant supports clipboard access. I always recompile vim from source so that a single vim (with symlinks for gvim etc) supports everything required (including :gui
to switch from command line to GUI version). It's really very easy to do:
# Get the compile-dependencies of vim
sudo apt-get build-dep vim
# If you haven't got mercurial, get it
sudo apt-get install mercurial
# Get the source
hg clone https://vim.googlecode.com/hg/ vim_source
# Compile it
cd vim_source
./configure \
--enable-perlinterp=dynamic \
--enable-pythoninterp=dynamic \
--enable-rubyinterp=dynamic \
--enable-cscope \
--enable-gui=auto \
--enable-gtk2-check \
--enable-gnome-check \
--with-features=huge \
--with-x \
--with-compiledby="Your Name <[email protected]>" \
--with-python-config-dir=/usr/lib/python2.7/config
make && sudo make install
That will install it in /usr/local
, so make sure that's in your PATH
before /usr
and it will be used instead of the Ubuntu versions.
Solution 2
The output from vim --version
should show something like this:
Huge version with GTK2-GNOME GUI. Features included (+) or not (-):
and further down in the output you should see stuff like +Xll:
+vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim
+xsmp_interact +xterm_clipboard -xterm_save
That means your console vim can copy/paste to/from the X11 clipboard.
Try apt-get install vim-gtk
Solution 3
Install the package vim-gnome
instead of vim
. It comes with clipboard
enabled.
Solution 4
You can also add shortcuts to your vimrc
# Copy and paste
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <ESC>"+pa
It will allow you to Copy by Ctrl + C and Paste by Ctrl + V
Solution 5
If you have run configure
as explained by @DrAl but you still can't get the GUI compiled in and you see this in the output of your ./configure
checking for X... (cached) no
Then you may have to delete the cache file that configure
created.
find . -name config.cache -delete
Then re-run configure
and make
and check src/vim --version
again - it should show that gui is included now.
Gattoo
Updated on June 29, 2022Comments
-
Gattoo almost 2 years
I am using Ubuntu 12.04 Beta and Vim that has come with it. I am trying to use Vim to copy the content of a text file to Chrome browser. I have tried
+
,*
y
and all its variants. I have tried to:set clipboard=unnamed
and:set clipboard=unnamedplus
. Not working. I am not trying to use xclip, or GVim or any of that. I tried with xclip (not a standard package in Ubuntu 12.04), but that too does not work, also too much effort.How do I copy the text to the clipboard and then paste anywhere, like Chrome?