Я использую плагин Tabularize в Vim, и у меня есть следующий текст:
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;
, который я хочу выровнять таким образом:
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;
В словах:
- reg / wire выравнивания по левому краю в первом столбце
- ширина битов выравнивания по центру, если имеется, вдоль ':'
- имен сигналов выравнивания по левому краю в третьем столбце
- = знаки в 4-м столбце
- выравнивание по левому краю начальных значений в 5-м столбце.
До сих пор я пробовал следующее по порядку:
:Tabularize /[[0-9]*:/l1r0l0
:Tabularize /:[0-9]*]/l0l1l0
:Tabularize /=
, но в первом столбце сочетаются 'wire' и 'sram_bit' вместо того, чтобы помещать их соответственно в первый и третий столбцы.