Cải thiện tốc độ phát lại vĩ mô?


12

Tôi đã ghi lại một macro đơn giản và phát lại nó trên các dòng sau, nhưng có vẻ như tốc độ phát lại rất chậm (xử lý rất ít dòng mỗi giây). Điều này có được mong đợi và có cách nào để cải thiện tốc độ như vậy không?


3
Hãy thử :set lazyredraw( :h lazyredraw)
VanLaser

Quả thực lazyredrawcó lẽ là giải pháp tốt nhất. Bạn cũng có thể cung cấp macro và tệp mẫu để chúng tôi có thể xem liệu nó có thể được tối ưu hóa hay không.
statox

Câu trả lời:


12

Cài đặt lazyredrawvới :set lazyredrawsẽ cải thiện đáng kể tốc độ thực thi macro bằng cách không vẽ lại màn hình trong khi macro đang thực thi hoặc lệnh được chạy khác với những gì bạn nhập, xem :help 'lazyredraw'để biết thêm thông tin.

Một cách khác để giảm bớt đảm bảo bạn không có thời gian lãng phí autocmds hoặc ánh xạ. Nếu các macro của bạn vẫn chậm sau khi chạy, hãy kiểm tra tệp vimrc của bạn để biết ánh xạ chậm hoặc không cần thiết và xóa các plugin không cần thiết. Trong trường hợp của tôi, tôi đã có một autocmd sẽ chạy và chương trình bên ngoài để tắt CapsLock khi thoát khỏi chế độ chèn, điều này rất tiện lợi và thường không được chú ý nhưng nó làm chậm macro chèn rất nhiều.

Nếu macro của bạn vào chế độ chèn, nơi bạn có nhiều ánh xạ, có thể có một phím để đặt chế độ dán và tắt tạm thời ánh xạ chèn, xem :help 'paste':help 'pastetoggle'. Hãy nhớ rằng điều này có thể làm cho việc chèn thêm khó khăn hơn.

Cuối cùng, giữ macro càng đơn giản càng tốt bằng cách giảm thiểu chuyển động, chuyển chế độ, v.v.

Chúc may mắn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.