There is no reason to use xsel. try "+p or "* p
to pull into the clipboard, try "+y or "* y
(edit: the spaces are just me trying to escape the asterisks for HN)
You can also easily configure vim so that simple 'y' and 'p' will operate using the system clipboard, which I do.
You don't have to spawn and close vim around each task either.
Of course vim has no way at all to reduce the amount of ctrl-a, ctrl-c, ctrl-f, ctrl-a, ctrl-v boilerplate you are doing in this example because that all occurs in some other program.