Насколько я понимаю, вы хотите, чтобы таблица выглядела так, со странной пустой ячейкой в разделе DESCRIPTION
:
<tr> <td>DATE</td> <td>NUMBER</td> <td>DESCRIPTION</td> <td>DEADLINE</td> </tr>
<tr> <td>6/7</td> <td>1</td> <td></td> <td>bar1</td> </tr>
<tr> <td>6/15</td> <td>2</td> <td>foo1</td> <td>bar2</td> </tr>
<tr> <td>6/20</td> <td>3</td> <td>foo2</td> <td>bar3</td> </tr>
…
Я прав? Вот один из способов сделать это:
Отформатируйте этот код с помощью :%!column -t
или плагин Vim:
<tr> <td>DATE</td> <td>NUMBER</td> <td>DESCRIPTION</td> <td>DEADLINE</td> </tr>
<tr> <td>6/7</td> <td>1</td> <td>foo1</td> <td>bar1</td> </tr>
<tr> <td>6/15</td> <td>2</td> <td>foo2</td> <td>bar2</td> </tr>
<tr> <td>6/20</td> <td>3</td> <td>foo3</td> <td>bar3</td> </tr>
Перейти к первому элементу, затем удалить его с помощью dit
. foo1
теперь в регистре по умолчанию.
Начните макрос с qx
(используйте любую доступную букву вместо x
).
Перейти к строке ниже с помощью j
.
Визуально выберите содержимое тега с помощью vit
.
Замените выделенный текст (foo2
) содержимым регистра по умолчанию (foo1
), используя p
.
Остановите макрос с помощью q
. Содержимое регистра по умолчанию теперь foo2
, готовое к использованию при следующем вызове макроса.
Примените макрос столько раз, сколько вам нужно, используя что-то вроде <number of rows>@x
.
Конечный результат:
<tr> <td>DATE</td> <td>NUMBER</td> <td>DESCRIPTION</td> <td>DEADLINE</td> </tr>
<tr> <td>6/7</td> <td>1</td> <td></td> <td>bar1</td> </tr>
<tr> <td>6/15</td> <td>2</td> <td>foo1</td> <td>bar2</td> </tr>
<tr> <td>6/20</td> <td>3</td> <td>foo2</td> <td>bar3</td> </tr>
…
Сжатая версия:
:%!column -t<CR>
(movement)
ditqxjvitpq
17@x
Используйте другой именованный регистр на шаге 2, если вы не хотите связываться с регистром по умолчанию (и вашим системным буфером обмена, если применимо).
Если вы хотите только увеличить число в foo2
и Co, плагин VisIncr очень хорош.