Productivity tip: Using the Bash history
tips bashThe next time you’re using the terminal a lot and want to run a previous command again, try using Bash’s “reverse-i-search” feature. Type “Ctrl-r” and enter part of the command. For example, if you’ve recently run “make” and want to run it again, typing “<Ctrl-r>ma” might bring up:
(reverse-i-search)`ma': make
Hitting enter now will run “make”. If this isn’t the line you wanted, either type more characters or hit Ctrl-r again to show an earlier line matching your search.
I use this all the time in combination with git-svn, because its rebase command needs a clean index (if you’re not familiar with git, this means that there are no uncommitted changes in your tree). To rebase despite a dirty index, you can use the stash like this:
git stash && git svn rebase && git stash apply
But that’s a pain to type over and over, so once I’ve done it once I can type something like “<Ctrl-r>re”, and Bash responds with:
(reverse-i-search)`re': git stash && git svn rebase && git stash apply
Although I’ve been talking about Bash here, this is actually a GNU Readline feature, and works the same way in other programs that use Readline or a similar library.