Ubuntu – vim and system clipboard

clipboardvim

I can cat a file, copy and paste text with the middle button or shift-insert.

How can I copy text in vim and paste it from the system clipboard?

Best Answer

You need to have Vim with the clipboard and xtermclipboard features compiled in. In Ubuntu, these are only available with the vim GUI packages (vim-gnome, vim-gtk, vim-athena, etc.).

Once you install one of these, you can copy to (and paste from) the clipboard registers (* and +). From this very informative post on Vi and Vim:

For X11-based systems (ie. Linux and most other UNIX-like systems) there are 2 clipboards, which are independent of each other:

  • PRIMARY - This is copy-on-select, and can be pasted with the middle mouse button.
  • CLIPBOARD - This is copied with (usually) ^C, and pasted with ^V (It's like MS Windows).

Vim has 2 special registers corresponding to these clipboards:

  • * uses PRIMARY; mnemonic: star is select (for copy-on-select)
  • + uses CLIPBOARD; mnemonic: CTRL + C (for the common keybind)

To copy to a register, you precede the copy command (y) with " and the name of the register (*, for example). "*y, then middle-click to paste, or "+y and ShiftInsert to paste.

Related Question