Meningkatkan kecepatan pemutaran ulang makro?

12

Saya merekam makro sederhana dan memutar ulang pada baris berikut, tetapi tampaknya kecepatan replay sangat lambat (menangani beberapa baris per detik). Apakah ini yang diharapkan dan apakah ada cara untuk meningkatkan kecepatan seperti itu?

Thomson
sumber
3
Coba :set lazyredraw( :h lazyredraw)
VanLaser
Memang lazyredrawmungkin solusi terbaik. Anda juga dapat memberikan file makro dan sampel Anda sehingga kami dapat melihat apakah itu dapat dioptimalkan.
statox

Jawaban:

12

Mengatur lazyredrawdengan :set lazyredrawakan sangat meningkatkan kecepatan eksekusi makro dengan tidak menggambar ulang layar saat makro mengeksekusi atau perintah dijalankan selain yang Anda ketik, lihat :help 'lazyredraw'untuk informasi lebih lanjut.

Cara lain untuk mengurangi pastikan Anda tidak membuang waktu autocmds atau pemetaan. Jika makro Anda masih lambat setelah berjalan, periksa file vimrc Anda untuk pemetaan yang lambat atau tidak perlu dan hapus plugin yang tidak dibutuhkan. Dalam kasus saya, saya memiliki autocmd yang akan berjalan dan program eksternal untuk mematikan CapsLock ketika keluar dari mode insert, ini nyaman dan biasanya tidak terlalu mencolok tetapi banyak memperlambat macro insert.

Jika makro Anda memasukkan mode penyisipan, di mana Anda memiliki banyak pemetaan, mungkin membantu untuk memiliki kunci untuk mengatur mode tempel dan menonaktifkan penyisipan pemetaan sementara, lihat :help 'paste'dan :help 'pastetoggle'. Perlu diingat ini bisa membuat penyisipan lebih sulit.

Terakhir, jaga makro sesederhana mungkin dengan meminimalkan gerakan, mode switching, dll.

Semoga berhasil.

ZeroKelvinKeyboard
sumber