This all depends on which vi you use. Are you using Vim? (Your mention of the :set paste option implies that you are.) If so, the "+ register holds the contents of the system clipboard. If you are using X Window, (Again, your mention of the selection buffer implies that you are.) the "* also contains the contents of the current X selection.
"+y to copy to the system clipboard
"+d to "cut" to the system clipboard
"+p to paste from the system clipboard
"*p to paste from the X Window selection buffer
Your second question is answered directly at http://stackoverflow.com/questions/1...t-lines-in-vim
. The solution there can be made into a macro very easily.