Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to copy codes in vi to clipboard

Tags:

vi

I know how to copy in VI. but I failed to copy it into other application. That means I failed copy those into clipboard. How can I do this?

P.S. In order to lean more. I also want to ask how to copy content from clipboard to vi.

Edited: I am using MacOs. running Vim.

It seems *yy doesn't work here. Any other ways?

like image 808
Josh Morrison Avatar asked Apr 03 '11 22:04

Josh Morrison


3 Answers

You need to use the clipboard register, which is *, so to copy a line of text into clipboard:

"*yy

To paste a line of text from the clipboard:

 "*p
like image 148
Matt Greer Avatar answered Oct 04 '22 10:10

Matt Greer


"+y or "*y works only if your vim supports the xterm_clipboard. Xterm is a terminal emulator for X11. Try vim --version to see if it is supported. If you see +xterm_clipboard it should work, if you see -xterm_clipboard it won't. Now there are many Linux flavours which still have the xterm_clipboard support deactivated in their repositories. Yanking via clipboard is then impossible. Note that you still have the good old unix style of yank/paste, namely select the text you'd like to yank and middle-click on the mouse where you want to paste. This should work always and is the preferred style of yank/paste in vim. Be sure to be in insert mode and type set paste if it screws up the indentation. set nopaste to leave paste mode.

To get vim with xterm_clipboard, simply download the source, make a ./configure --with-x and then a make. Now vim should support xterm_clipboard and yanking and pasting should work flawlessly also from the clipboard.

like image 23
pfnuesel Avatar answered Oct 04 '22 12:10

pfnuesel


"+yy or "*yy to copy to clipboard
"+p or "*p to paste from clipboard

The " will put it into the + register.

For even more than you wanted to know: http://vim.wikia.com/wiki/Accessing_the_system_clipboard

like image 5
Glennular Avatar answered Oct 04 '22 11:10

Glennular