51

For example, if I type ':pwd' to get the current working directory, I can select the text in gvim but I can't figure out how to copy it to the clipboard. If I try the same in console vim, I can't even select it with the mouse. I would like this to work with all vim commands, such as set guifont to copy the guifont=Consolas:h10:cANSI output.

Steven
  • 2,329
  • 12
  • 35
  • 41

5 Answers5

60

Are you looking for this,

:redir @* | set guifont | redir END

:redir command redirects the output of a command to a register (@*). The register @* refers to the clipboard.

For more info on this,

:help :redir
asdfg
  • 2,806
  • 4
  • 20
  • 23
18

Try ':r !pwd' to get the current working directory directly in to the GVIM opened file.
You can then copy it to clipboard like you would any other text file contents opened there.

nik
  • 55,788
  • 10
  • 98
  • 140
5

If you're running vim in an xterm, holding the shift key while selecting the text will copy the text to the X equivalent of the clipboard.

garyjohn
  • 34,610
  • 8
  • 97
  • 89
  • X has two clipboards (at least); your suggestion will place the text in the PRIMARY selection (paste with middle-click) rather than the CLIPBOARD hselection (paste with Ctrl+V in most apps). – Marius Gedminas Jul 26 '10 at 11:47
5

For this particular example you could do (note the "!" which makes it go through the shell):

:!pwd | xclip

or

:!pwd | xclip -selection secondary

(depending on which X-selection you want).

You might have to install xclip first

sudo apt-get install xclip

(or equivalent)

nisc
  • 1,082
  • 2
  • 9
  • 18
0

You could send to a file and copy it from there:

SomeCommand > SomeFile.txt
vim SomeFile.txt

See How do I save terminal output to a file? on AskUbuntu.

unrealapex
  • 132
  • 8