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 回答
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.
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>
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.