Copy multiple times before pasting all of the contents in vim

593 Views Asked by At

In vim, would there be a way to copy multiple times, accumulate each of them into the clipboard, and then later paste all of them at once where each contents are separated by newline?

3

There are 3 best solutions below

0
phd On BEST ANSWER

Use uppercase registers to append. For example, let's clear and yank a line to register "a, append a line, append another line, then paste:

"ayy
"Ayy
"Ayy
"ap

Flag > in cpoptions inserts a line break before the appended text.

1
romainl On

If all those lines share a pattern you can :help :copy (or its shortest alternative :help :t) them all at once with:

:g/pattern/t<line number>
0
XPlatformer On

I have this line in my .vimrc

nnoremap yY :let @"=@".getline('.')."\n"<CR>

Pressing yY appends the line under the cursor to the unnamed register.

Use it like this: First press yy to yank line under cursor.

Then press yY on several other lines.

Finally press p to put all these line somewhere.