title: How to wrap some text in vim with '', "", (), [], {}, etc?
body: <p>I'm new to vim. And I'm pressing too many buttons doing basic text wrapping:</p>
  
  <ol>
  <li><code>string</code> -> <code>"string"</code></li>
  <li><code>long string with many words</code> -> <code>'long string with many words'</code></li>
  <li><code>a + b * c</code> -> <code>(a + b) * c</code></li>
  <li><code>(elem0, elem1, elem2)</code> -> <code>[elem0, elem1, elem2]</code> <em>(optional)</em></li>
  </ol>
  
  <p>I'm doing all that manually: go to begin, Insert mode, press key, Normal mode, (the same for second character).</p>
  
  <p>How to do it <em>faster</em>? E.g.: visually select the text, smart-wrap it with what you need. Or even without visual selection.</p>