But you can also control which editor is going to be used to edit your command line by setting the EDITOR environment variable.
It also works for git, and other commands that need to spawn editors.
My first thought was "emacs editing characters already work on the command line."
Then I thought, maybe there are commands you want to be really really sure of before submitting them?
Then I realized I very frequently use very long commands with loops and pipes that might benefit, like:
for i in *.py; do mv $i AA_$i; done
find . -type f |while read f; do if cmp -s "$f" ../new/"$f"; then rm -f "$f"; fi ;done