Can't Copy to Clipboard from Vim

31

8

I'm running Vim 7.3 under Linux Mint 13 (using MATE) and I'm not able to save text to the system clipboard. I run Vim in the terminal and copy text from the terminal with CTRLINSERT. When I select text in Vim (either with the mouse or in visual mode), CTRLINSERT doesn't copy any text. In addition when I right-click, Copy is grayed out. Further, I can't write to the system buffer by yanking to the corresponding register using vim commands. However, I'm able to paste while in insert mode (using SHIFTINSERT or right-click paste). I'm also able to copy text directly from the terminal using the same technique, just not text from Vim.

Here is my current ~/.vimrc. The relevant part is most likely set clipboard=autoselect,unnamed,exclude:cons\|linux. If I put finish at the top of my ~/.vimrc, I have the same issue, so I think the line is wrong, but I've tried set clipboard=unnamed and had the same behavior.

Could there be another config file affecting Vim's behavior? How can I change my ~/.vimrc to allow me to copy text from Vim?

maksim

Posted 2012-06-11T03:59:31.007

Reputation: 421

Answers

58

I believe your copy problem is caused by:

mouse=a 

in your .vimrc This sets your vim into visual mode whenever you select something with the mouse. And for some mad reason one is not allowed to copy when in visual mode. You can get around it by holding down shift when selecting text not to go into visual mode allowing you to use the copy menu.

or you could change to:

:set mouse=v

and copy will work again. add it to your ~/.vimrc file if you want it to be permanent

tomodachi

Posted 2012-06-11T03:59:31.007

Reputation:

Good answer. Just a plus: more mouse modes here :help mouse – Dr Beco – 2014-08-25T21:42:37.663

Just the tip of holding shift while highlighting was spot on. I use the primary (highlight + middle mouse click) copy/paste all the time. Thanks. – James – 2014-10-11T12:58:39.223

After being frustrated by this for YEARS, you have saved me a lot of future misery! – hopeseekr – 2019-05-05T15:26:34.873

no matter what I do the mouse defaults away from whatever I select. – Richard – 2019-09-28T20:48:50.920

Thanks, solved my pain. What I don't understand is why Vim (8.1 for me) sets mouse=a as default? This is very frustrating. – ibic – 2019-12-30T11:36:25.207

2

While this might actually solve their problem an explanation of why it works would be more useful. Without it your answer is just telling someone to Press the Green Button Twice - It might work, it might not, but it doesn't enlighten them.

– voretaq7 – 2012-06-11T16:06:55.410

Thanks, that solved it. The explanation you added after voretaq7's comment helped a lot, too! – None – 2012-06-11T20:49:06.143

This works for Cygwin, too. – Dave Jarvis – 2012-11-21T00:22:38.600

1This mode will highlight everything, so if I want to copy a few lines, I'm also copying line numbers and all the empty space after each line until the end of the screen. Is there a way to only have it select the relevant content (which is how highlight works when mouse=a)? – Dennis – 2014-03-12T18:08:34.663

10

sudo apt-get install vim-gtk will likely solve this problem for other Googlers.

Good ol' terminal-style vim doesn't have access to the clipboard, which is a part of the X windows system. Installing vim-gtk gives vim the access that it needs to modify and view the clipboard.

Cory Klein

Posted 2012-06-11T03:59:31.007

Reputation: 1 232

2Works! On Debian Buster (now in testing) I installed vim-gtk and then my command line vim in xterm allowed me to use the * and + buffers to access the x window buffers. The vim-gtk installation uses the Debian alternatives to set vim -> /usr/bin/vim.gtk. – RobertL – 2019-04-09T17:52:14.443

0

The terminal doesn't know anything about vim selections, so don't expect it to be any help. You will need vim to be built against X (e.g. gvim -v), and then yank to and put from the + register.

Ignacio Vazquez-Abrams

Posted 2012-06-11T03:59:31.007

Reputation: 100 516

Agreed and confirmed on Debian Buster (now in testing) I installed vim-gtk and then my command line vim in xterm allowed me to use the * and + buffers to access the x window buffers. The vim-gtk installation uses the Debian alternatives to set vim -> /usr/bin/vim.gtk. – RobertL – 2019-04-09T17:57:30.917

3The vim-gtk package in Ubuntu contains clipboard support (even when executed as vim in a terminal). – mgorven – 2012-06-11T04:15:32.433

0

just gvim on arch linux if anyone wants to know. Also, have a look at neovim (and python-neovim && python2-neovim for You Complete Me support, etc).

dylnmc

Posted 2012-06-11T03:59:31.007

Reputation: 161

Try using gvim via ssh. – hopeseekr – 2019-05-05T15:26:51.300