title: Bash's equivalent of Tcsh's ESC-p to jump to command starting with what you typed so far
body: <p>I recently made the insanely long overdue switch from tcsh to bash.
  The only thing I miss is tcsh's <kbd>ESC</kbd>+<kbd>p</kbd> feature:
  Start typing a command and then hit <kbd>ESC</kbd>+<kbd>p</kbd> (I actually found the equivalent ctrl-[p easier to type) and it jumps to the most recent command in your history that starts with what you've typed so far.</p>
  
  <p>Perhaps the best answer is to just get used to bash's <kbd>Ctrl</kbd>+<kbd>r</kbd> but so far I don't like it as much.
  I often start typing a command and then it occurs to me that I've issued it before.
  With tcsh's feature I could then do <kbd>ESC</kbd>+<kbd>p</kbd>+<kbd>Enter</kbd> to re-issue it.  It's so quick that I'd usually never use up-arrow for anything more than 2 commands ago.</p>
  
  <p>An example of where I found it especially nice:
  Long commands often start with a dot, because they're of the form</p>
  
  <pre><code>./myprogram.pl -lots -of -args -and -switches
  </code></pre>
  
  <p>In tcsh I would issue a command like that, then maybe ls, less, tail, whatever, and then to reissue the long command, 4 keys: dot, escape, p, enter.</p>
  
  <p>How can I do that in Bash?  Or, to make it concrete, what's the fewest number of keystrokes in bash to say "repeat the last command that started with a dot"?  Can it match or beat tcsh's 4?</p>