Jawaban:
itu bisa dilakukan bahkan dalam vim vanila, tetapi penerapannya tergantung pada kasus penggunaan Anda, yaitu. seberapa sering Anda harus mengulanginya, karena perlu beberapa kali penekanan tombol agar dapat diulang.
menggunakan bergerak ke bawah 5 baris sebagai contoh, Anda dapat melakukan:
:norm 5j
, itu akan memindahkan kursor ke bawah 5 baris@:
untuk mengulangi gerakan:norm
singkatan normal, string berikut dianggap sebagai penekanan tombol Anda dalam mode normal
qa
(simpan makro ke dalam register a
, Anda dapat memilih register sendiri seperti qb
, qc
)5j
q
(selesai merekam makro)@a
untuk mengulang operasi yang direkam (ganti a
dengan nama register yang Anda pilih, mis. @b
, @c
)makro membutuhkan lebih banyak kekuatan spiritual untuk mengatur tetapi itu lebih berulang dalam arti bahwa Anda dapat menyimpan beberapa operasi dalam register yang berbeda tanpa ditimpa oleh operasi terbaru.
Anda dapat mengulangi perubahan dengan .
. Gerakan dapat diulang dengan ;
perintah. Perintah ini tampaknya baru dan melakukan hal yang mirip dengan skrip repmo.vim yang disebutkan dalam jawaban lain.
Misalnya, untuk pindah ke yang berikutnya berikutnya c
, tekan 2fc
. Kemudian untuk melakukannya lagi, ketikkan saja ;
.
Anda dapat memilih garis yang ingin Anda ubah dan menjalankan perintah titik normal terakhir
v5j .............. visual select next 5 lines
:'<,'>norm! . normal mode execute over selection last command '.'
;
bukan hal baru. Ini adalah perintah vi standar. Vi ingat jenis dan sasaran karakter (tapi argumen tidak numerik) yang terakhirf
/F
/t
/T
gerak dan;
mengulangi itu. Namun, itu tidak mengulangi gerakan lain.