title: How does :g/^$/,/./-j (reduce multiple blank lines to a single blank) work in vim?
body: <p>In the article, <a href="http://web.archive.org/web/20080306034905/http://www.geocities.com/volontir/" rel="noreferrer">Vim Regular Expressions</a>, Oleg Raisky gives the following command to reduce multiple blank lines to a single blank:</p>
  
  <pre><code>:g/^$/,/./-j
  </code></pre>
  
  <p>Can someone please describe how this works? </p>
  
  <p>I know <code>:g</code> command and regular expressions. But I didn't understand what the part <code>/,/./-j</code> does. </p>