Is there any way to copy all lines from a file to clipboard in VI editor. I have tried *yG
, +yG
, "+yG
and :%y+
from previous posts in SO, but nothing works in OS X.
The default Vim shipped with Mac OS X, /usr/bin/vi[m]
, isn't compiled with clipboard support.
You have three options:
use pbcopy
from the command line, without using Vim
$ cat filename | pbcopy
use pbcopy
from Vim
:%w !pbcopy
get your own Vim with clipboard support
You can do that through MacPorts or Homebrew, by downloading MacVim or by building from the source.
Also the correct way to use a specific register with y
is "{register}y
.
See $ man pbcopy
in your terminal and :help clipboard
and :help !
in Vim.
G
just means "go to the end of the file", and you need quotes before *
or +
to make them effective as clipboard registers. You're looking for something more like gg"*yG
which means:
gg
- go to the top of the file
"*
- use the *
register
y
- begin yank
G
- go to the bottom of the file
or you could use :!cat % | pbcopy
which is not unlike the fine solutions romainl provided.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With