Replace Last Command in Shell

Whether I fat-finger a command or my MacBook Pro keyboard's keys don't want to respond like they should, I'm frequently misspelling commands. What's more frustrating is that many of these commands are long, taking making fixing theme time-consuming.

Luckily a Twitter follower is looking out for me, providing me a quick command for fixing the misspelled command:

~ $ crul davidwalsh.name -bash: crul: command not found ~ $ ^crul^curl curl davidwalsh.name <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="https://davidwalsh.name/">here</a>.</p> <hr> <address>Apache Server at davidwalsh.name Port 80</address> </body></html>

The ^ command usage above returns fixes the spelling from the previous command, executes the command, and as a bonus, adds the correct command to history.