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.
6 Answers
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
-
-
-
Didn't work. Had to
:redir @"
, paste in a buffer and copy to clipboard,"*Y
, from there– CervEdMay 5, 2023 at 9:16
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.
-
-
1
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)
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.
-
1X 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). Jul 26, 2010 at 11:47
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.
let @*=execute('set guifont')
will copy the output into the *
register which corresponds to the clipboard.