To render the buffer / a range as you see it in Vim (including syntax highlighting and folding), you can use the built-in :TOhtml
command. This gets you HTML. For the entire window layout, there's the ScreenShot plugin.
If you just want the plain text, I would launch console Vim, select the entire contents with the mouse, and use your terminal's copy functionality to copy the selection to the system's clipboard. (I believe you can also do this with screen or tmux.)