title: Search "off the record" in Vim, or remove search pattern from search history?
body: <p>I have in my .vrimrc cute little macros which add/remove c++ style comments from code:</p>
  
  <pre><code>" remove c++ style comment
  nmap _ :s/^[ \t]*\/\///&lt;CR&gt;==:nohls&lt;cr&gt;
  " comment line, c++ style
  nmap - :s/^[ \t]*/\/\/ /&lt;CR&gt;==:nohls&lt;cr&gt;
  </code></pre>
  
  <p>These work by replacing the beginning of line pattern with another. In one case adding // and in another removing the slashes (if found).  </p>
  
  <p>The problem I bump into is that those macros use search-and-replace. As a result, unwanted search patterns are saved into vim's search history, cluttering it. </p>
  
  <p>Consider the sequence: </p>
  
  <ol>
  <li>Searched for 'hello'</li>
  <li>Use the macro to comment a line</li>
  <li>Search again (by typing 'n' or /,keyup,enter)</li>
  <li>Result: the search does not look for 'hello', because the search pattern is set to whatever the macro was using, which is ^[ \t]*</li>
  </ol>
  
  <p>How can this macro be modified to not inject unwanted patterns into the search history?</p>