Vim, 4141 39 bytes
(keys? I'm not sure how the <End> key is handled)
Here the <End> is literally the "End" key.
i <End>_:s/./ |\0|\r|&|\r/g i/___\ VvVggxo /_\ Unprintables so:
i <End>_^[<End>_^O:s/./ |\0|\r|&|\r/g i/___\ VvV^[ggxo /_\^[ I'm a little sad that I couldn't get to @DrMcMoylex V answer byte count, but that's the point of V isn't it?