title: How to make bash tab-completion work like windows' cmd.exe?
body: <p>Say I have a folder with files in it with names like this:</p>
  
  <ul>
  <li><code>log_1.log</code></li>
  <li><code>log_2.log</code></li>
  <li><code>log_2.gz</code></li>
  </ul>
  
  <p>And I want to perform some operation, let's say move, on log_2.gz.</p>
  
  <p>In Windows cmd.exe, I am used to performing these steps:</p>
  
  <ol>
  <li>Type <code>move</code> (and nothing else) </li>
  <li><kbd>tab</kbd><kbd>tab</kbd><kbd>tab</kbd> to traverse the tab-complete options until I get to <code>log_2.gz</code></li>
  <li>Type <code>destination</code></li>
  </ol>
  
  <p>But in bash shell (within iTerm2 on Mac OS X 10.8.3), I have to do something like this:</p>
  
  <ol>
  <li>Type <code>mv l</code></li>
  <li><kbd>tab</kbd> which takes me to <code>log_</code> and makes an annoying beep sound</li>
  <li>Type <code>2</code></li>
  <li><kbd>tab</kbd> which takes me to <code>log_2.</code> and makes an annoying beep sound</li>
  <li>Type <code>g</code></li>
  <li><kbd>tab</kbd> which takes me to <code>log_2.gz</code> and is satisfyingly silent</li>
  <li>Type <code>destination</code></li>
  </ol>
  
  <p>As you can see, bash requires many more steps even when you know the destination filename, but imagine a scenario where you are not really certain what exactly is in the filename (maybe the <code>ls</code> was too long).  I often find myself in this scenario after a few <kbd>tab</kbd> + typing and am forced to abandon the command, run <code>ls</code> again, copy the filename, maybe even run a <code>pwd</code> to concatenate with the folder, and then resume where I left off.  This is very annoying.</p>