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.