A much better feature is available in zsh, called safe-paste, that does this without the user having to insert "tap" or anything else manually. It relies on something called bracketed paste, where the terminal emulator sends special escape sequences to indicate the beginning and end of a paste. These are intercepted by the zsh plugin, which opens $EDITOR with the pasted content.
https://github.com/robbyrussell/oh-my-zsh/blob/master/plugin...
I don't really see, why I'd install something from some github repository if I can get it from a moreutils package that I like to have installed anyway.
Simple, but nice
Why do you create an env variable that contains the whole file in question when the editor returned success? Wouldn't something like:
not involve loading the whole file in memory at once? Note that using this also makes sense with self-extracting archives/shell scripts, because it lets you inspect the shell script at the beginning.