Poprawić szybkość odtwarzania makr?


13

Nagrałem proste makro i odtworzyłem je w kolejnych wierszach, ale wydaje się, że szybkość odtwarzania jest bardzo wolna (poradzisz sobie z kilkoma liniami na sekundę). Czy jest to oczekiwane i czy istnieje sposób na poprawę takiej prędkości?


4
Try :set lazyredraw( :h lazyredraw)
VanLaser,

Rzeczywiście lazyredrawjest to prawdopodobnie najlepsze rozwiązanie. Możesz również podać swoje makro i przykładowy plik, abyśmy mogli sprawdzić, czy można go zoptymalizować.
statox

Odpowiedzi:


12

Ustawienie opcji lazyredrawz :set lazyredrawznacznie poprawi szybkość wykonywania makr, ponieważ nie przerysowujemy ekranu podczas wykonywania makra lub wykonywania polecenia innego niż te, które wpisałeś, zobacz :help 'lazyredraw'więcej informacji.

Innym sposobem na ograniczenie jest upewnienie się, że nie masz czasu marnowania autocmds ani mapowań. Jeśli po uruchomieniu makra nadal działają powoli, sprawdź, czy w pliku vimrc nie ma wolnych lub niepotrzebnych mapowań i usuń niepotrzebne wtyczki. W moim przypadku miałem autocmd, który uruchomiłby się i zewnętrzny program do wyłączania CapsLock przy wychodzeniu z trybu wstawiania, było to wygodne i zwykle niezauważalne, ale bardzo spowalniało wstawianie makr.

Jeśli twoje makro wejdzie w tryb wstawiania, w którym masz wiele odwzorowań, pomocne może być posiadanie klucza do ustawienia trybu wklejania i tymczasowego wyłączenia wstawiania odwzorowań, zobacz :help 'paste'i :help 'pastetoggle'. Pamiętaj, że może to utrudnić wstawianie.

Wreszcie, utrzymuj makro tak proste, jak to możliwe, minimalizując ruch, przełączanie trybów itp.

Powodzenia.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.