title: Bash history expansion with tab completion
body: <p>I make frequent use of command history expansion using the form <code>!n:m</code>, where <code>n</code> is the number of the historical command and <code>m</code> is the number of the argument, or short forms thereof.</p>
  
  <p>Is there a way to expand such arguments in situ, so that I can then tab-complete them?</p>
  
  <p>A trivial example:</p>
  
  <pre><code>$ mycmd long/path/with/plenty/of/subdirectories/
  $ cp !$/tediously-verbose-filename.txt .
  </code></pre>
  
  <p>I'd love to be able to use argument repetition without having to then type the filename out in full (or resort to dummy runs with <code>ls</code> or <code>echo</code>).</p>