title: Aligning text using Tabularize
body: <p>I'm using the Tabularize plugin in Vim and have the following text:</p>
  
  <pre><code>reg [321:123] ip_addr=32'h12345678;
  reg [15:0] trie_data=16'h9abc;
  reg [2:0] select=3'h5;
  
  wire [3:0] nibble;
  wire sram_bit;
  </code></pre>
  
  <p>which I want to align in this manner:</p>
  
  <pre><code>reg  [321:123] ip_addr   = 32'h12345678;
  reg   [15:0]   trie_data = 16'h9abc;
  reg    [2:0]   select    = 3'h5;
  
  wire   [3:0]   nibble;
  wire           sram_bit;
  </code></pre>
  
  <p>In words:</p>
  
  <ul>
  <li>left-align reg/wire in first column  </li>
  <li>center-align bit-widths, if present, along ':'  </li>
  <li>left-align signal names in third column  </li>
  <li>= signs in the 4th column  </li>
  <li>left-align initial values in 5th column.</li>
  </ul>
  
  <p>So far, I've tried the following in order:</p>
  
  <pre><code>:Tabularize /[[0-9]*:/l1r0l0
  :Tabularize /:[0-9]*]/l0l1l0
  :Tabularize /=
  </code></pre>
  
  <p>but this combines 'wire' and 'sram_bit' in the first column instead of putting it in the first and third column respectively.</p>