The title is very descriptive. Just in case, I will give an example:
START BLOCK1 something END BLOCK1 START BLOCK2 something somenthing... END BLOCK2
Similar to @songz's solution, I prefer do it like this using ":new"
vmap y:new ~/.vimbufVGp:x:!pbcopy < ~/.vimbuf