Підвищити швидкість макровідтворення?


13

Я записав простий макрос і відтворив його в наступних рядках, але, схоже, швидкість перезавантаження дуже повільна (обробляйте дуже мало рядків в секунду). Чи очікується це і чи є спосіб покращити таку швидкість?


4
Спробуйте :set lazyredraw( :h lazyredraw)
VanLaser

Дійсно lazyredraw, мабуть, найкраще рішення. Ви також можете надати свій макрос і зразок-файл, щоб ми могли побачити, чи можна його оптимізувати.
statox

Відповіді:


12

Установка lazyredrawз :set lazyredrawістотно поліпшить макро швидкість виконання, що не перемальовування екрану під час виконання макросу виконується або команда запуску, крім тих , ви набираєте см :help 'lazyredraw'для отримання додаткової інформації.

Ще один спосіб зменшити - переконайтеся, що у вас немає часу витрачати автосклади або відображення. Якщо макроси після запуску все ще повільні, перевірте свій файл vimrc на повільні або непотрібні відображення та видаліть непотрібні плагіни. У моєму випадку у мене був autocmd, який би запускав і зовнішня програма відключала CapsLock при виході з режиму вставки, це було зручно і зазвичай непомітно, але це дуже сповільнило введення макросів.

Якщо ваш макрос переходить у режим вставки, де у вас багато відображень, можливо, це допоможе мати ключ для встановлення режиму вставки та тимчасове відключення вставних відображень, див. :help 'paste'Та :help 'pastetoggle'. Майте на увазі, що це може ускладнити вставки.

Нарешті, зберігайте макрос максимально просто, мінімізуючи рух, перемикання режимів тощо.

Щасти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.