ปรับปรุงความเร็วการเล่นซ้ำของมาโครหรือไม่


13

ฉันบันทึกมาโครแบบง่ายและเล่นซ้ำในบรรทัดต่อไปนี้ แต่ดูเหมือนว่าความเร็วการเล่นซ้ำช้ามาก (จัดการน้อยบรรทัดต่อวินาที) นี่เป็นสิ่งที่คาดหวังและมีวิธีในการปรับปรุงความเร็วดังกล่าวหรือไม่?


4
ลอง:set lazyredraw( :h lazyredraw)
VanLaser

แน่นอนlazyredrawอาจเป็นทางออกที่ดีที่สุด คุณสามารถให้มาโครและไฟล์ตัวอย่างของคุณเพื่อให้เราสามารถดูว่าสามารถปรับให้เหมาะสมได้หรือไม่
Statox

คำตอบ:


12

การตั้งค่าlazyredrawด้วย:set lazyredrawจะช่วยเพิ่มความเร็วในการเรียกใช้งานแมโครอย่างมากโดยไม่ต้องวาดหน้าจอใหม่ในขณะที่แมโครกำลังทำงานหรือคำสั่งทำงานอื่นนอกเหนือจากที่คุณพิมพ์ดู:help 'lazyredraw'ข้อมูลเพิ่มเติม

อีกวิธีในการลดให้แน่ใจว่าคุณไม่มีเวลาเสีย autocmds หรือการแมป หากมาโครของคุณยังทำงานช้าหลังจากทำงานให้ตรวจสอบไฟล์ vimrc ของคุณเพื่อดูว่าการจับคู่แบบช้าหรือไม่จำเป็นและลบปลั๊กอินที่ไม่ต้องการออก ในกรณีของฉันฉันมี autocmd ที่จะเรียกใช้และโปรแกรมภายนอกเพื่อปิด CapsLock เมื่อออกจากโหมดแทรกนี่เป็นวิธีที่สะดวกและปกติไม่สามารถสังเกตเห็นได้ แต่มันทำให้มาโครแทรกช้าลงมาก

หากแมโครของคุณเข้าสู่โหมดแทรกที่คุณมีจำนวนมากของแมปมันอาจช่วยให้มีกุญแจสำคัญในการกำหนด mode วางและแมปแทรกปิดการใช้งานชั่วคราวให้ดูและ:help 'paste' :help 'pastetoggle'โปรดทราบว่าสิ่งนี้อาจทำให้การแทรกยากขึ้น

สุดท้ายรักษาแมโครให้ง่ายที่สุดโดยลดการเคลื่อนไหวการสลับโหมด ฯลฯ

โชคดี.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.