Я редактирую файл .sql в Vim:
INSERT INTO apps_forms (app_id, form_id) VALUES
(1, 1),
То, что я хочу сделать, это выдернуть (1, 1),
строку и вставить ее 137 раз; однако я хочу, чтобы второе число в скобках увеличивалось каждый раз. Вывод будет выглядеть так:
INSERT INTO apps_forms (app_id, form_id) VALUES
(1, 1),
(1, 2),
(1, 3),
...
(1, 137),
Есть ли способ сделать это в Vim и, если да, какую команду я бы использовал?
Благодарность!
источник
qqyypW<c-a>q135@q
. Еще короче, если вы используетеY
вместоyy
.Последние Vims узнали об увеличении визуально выбранных областей, а также о создании последовательности. Таким образом, вы можете сделать это после вставки вашей строки 137 раз:
1) визуально block-select ( Ctrl-V) второй 1, начиная со строки 3.
2) нажмите gCtrl-A
Я записал скриншот здесь
Отказ от ответственности: для этого нужен Vim 7.4.900 или около того.
источник
Легко понять / легко запоминаются / легко адаптироваться к пути других ситуаций , чтобы сделать это: использовать VisIncr плагин (если вы не хотите использовать версию , которая на самом деле играет хорошо с пакетными менеджерами из этого века , в отличие от решения
vimball
с Вы можете получить его из GitHub ). С этим:(1, 1),
линии и дергать ее:Vy
136p
1
и отметьте его вертикально:C-vGf)h
:II
:help visincr
.источник
Я бы поиграл с
g^a
.Попробуй
137i0^v137kg^a
.источник