zsh can replace special variables like `!!` and `!:1` inline when you hit Tab. Or, if you hit Enter, it won't execute the command itself but prepare a new prompt pre-filled with the same command and all special variables substituted to their values. I don't really know how it works in zsh (bash for example doesn't warn you and just executes the command right away with the actual values in place), but anyway it may be more seamless than opening an editor.
It opens the command in an editor like when you run "git commit", so you can edit it. Saving executes the final version.