Today I learned about "ctrl+q". This command is known as "parking" and what it does is takes the command you are typing, stashes it elsewhere and clears your command line, then after you execute your next command, retrieves it and fills your prompt.
So for example if I'm typing a git command and realized I need to `git diff` first, I can ctrl+q to "park" the command, type the diff, and then immediately get back to my original parked command