3

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?

4

3 回答 3

7

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.

于 2018-03-22T22:36:36.060 回答
5

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>
于 2018-03-23T06:32:05.967 回答
1

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.

于 2018-03-26T09:32:20.873 回答