 <p>You don't need to remove newlines from register or press more then one <code>J</code>: with the following mapping it will be <code>"apgVJ</code>:</p> <pre><code>nnoremap &lt;expr&gt; gV "`[".getregtype(v:register)[0]."`]" </code></pre> <p>This mapping makes you able to select pasted text just after it was pasted. <code>J</code> on selected region joins all lines in region (unless region has only one line: here <code>J</code> acts like <code>J</code> without a selection, joining current line with next). <code>gV</code> tip can also be used to do substitution: <code>"apgV:s/{pattern}/{replacement}&lt;CR&gt;</code> is more convenient then using <code>"ap:let @a=substitute(@a, '{pattern}', '{replacement}', '{flags}')</code> unless you define some smart mapping.</p> <p>Another tip is that register <code>a</code> can be cleared using <code>qaq</code> normal mode sequence: <code>qa</code> starts recording a new macro and <code>q</code> immediately stops it leaving empty string in <code>a</code> register where macro is recorded to.</p>