title: Search and replace in Vim across all the project files
body: <p>I'm looking for the best way to do search-and-replace (with confirmation) across all project files in Vim. By "project files" I mean files in the current directory, some of which do not have to be open.</p>
  
  <p>One way to do this could be to simply open all of the files in the current directory:</p>
  
  <pre><code>:args ./**
  </code></pre>
  
  <p>and then do the search and replace on all open files:</p>
  
  <pre><code>:argdo %s/Search/Replace/gce
  </code></pre>
  
  <p>However, when I do this, Vim's memory usage jumps from a couple dozen of MB to over 2 GB, which doesn't work for me.</p>
  
  <p>I also have the <a href="http://www.vim.org/scripts/script.php?script_id=2438">EasyGrep</a> plugin installed, but it almost never works&mdash;either it doesn't find all the occurrences, or it just hangs until I press <kbd>Ctrl</kbd><kbd>C</kbd>. So far my preferred way to accomplish this task it to <a href="http://www.vim.org/scripts/script.php?script_id=2572">ack-grep</a> for the search term, using it's quickfix window open any file that contains the term and was not opened before, and finally <code>:bufdo %s/Search/Replace/gce</code>.</p>
  
  <p>I'm looking either for a good, working plugin that can be used for this, or alternatively a command/sequence of commands that would be easier than the one I'm using now.</p>