Joey Hess' excellent moreutils¹ comes with vipe which is a generalised solution for these types of tasks. It allows you to run whatever $EDITOR you've configured mid-pipe, making it possible to work your changes up in an interactive editor session. Useful for those of us not smart enough to write up our changes as a series of -c arguments ;)
(It fixes the vim issue by virtue of using a temporary file to do the magic)
(It fixes the vim issue by virtue of using a temporary file to do the magic)
¹ https://joeyh.name/code/moreutils/