Saya mengedit file .sql di Vim:
INSERT INTO apps_forms (app_id, form_id) VALUES
(1, 1),
Yang ingin saya lakukan adalah mencabut (1, 1),
garis dan menempelnya 137 kali; Namun, saya ingin angka kedua dalam kurung akan bertambah setiap kali. Outputnya akan terlihat seperti:
INSERT INTO apps_forms (app_id, form_id) VALUES
(1, 1),
(1, 2),
(1, 3),
...
(1, 137),
Apakah ada cara untuk melakukan itu di Vim dan, jika demikian, perintah apa yang akan saya gunakan?
Terima kasih!
sumber
qqyypW<c-a>q135@q
. Bahkan lebih pendek jika Anda menggunakanY
bukanyy
.Vims baru-baru ini telah belajar tentang penambahan wilayah yang dipilih secara visual serta membuat urutan. Jadi Anda bisa melakukan ini setelah menempelkan baris Anda 137 kali:
1) secara visual blok-pilih ( Ctrl-V) yang kedua mulai dari baris 3.
2) tekan gCtrl-A
Saya telah merekam pemeran layar di sini
Penafian: Ini membutuhkan Vim 7.4.900 atau lebih.
sumber
The mudah dimengerti / mudah diingat / mudah beradaptasi dengan situasi lain cara untuk melakukannya: menggunakan VisIncr plugin (jika Anda lebih suka menggunakan versi yang benar-benar bermain bagus dengan manajer paket dari abad ini sebagai lawan berurusan dengan
vimball
s , Anda bisa mendapatkannya dari GitHub ). Dengan itu:(1, 1),
garis dan menariknya:Vy
136p
1
dan tandai secara vertikal:C-vGf)h
:II
:help visincr
.sumber
Saya akan bermain dengan
g^a
.Coba
137i0^v137kg^a
.sumber