Zauważyłem, że czasami, gdy używam O(duże „o”), aby utworzyć nową linię i przejść do trybu wstawiania, występuje krótkie opóźnienie, zanim cokolwiek się stanie.
Czy to powszechne? Czy można to zmienić?
Oba :map O
i :imap O
pokazują „Nie znaleziono mapowania”, więc nie sądzę, żeby było to dziwne mapowanie.
Odpowiedzi:
To dlatego, że
'esckeys'
opcja jest włączona (konsekwencja tego,nocompatible
co właśnie odkryłem). Po naciśnięciu ^[Owystępuje niewielkie opóźnienie, ponieważ dowiaduje się, czy używasz klawisza strzałki / klawisza funkcyjnego, czy też masz na myśli te dwa klawisze po kolei.Jednym z rozwiązań jest wyłączenie tej opcji i rezygnacja z klawiszy strzałek w trybie wstawiania.
Innym jest ustawienie
'timeoutlen'
mniej niż 1000, może 100 (ale uważaj na wolne połączenia).Innym jest użycie ^Czamiast ^[wychodzenia z trybu wstawiania.
źródło
'esckeys'
- to pozwala na użycie np. Klawiszy strzałek w trybie wstawiania. U'timeoutlen'
mnie dobrze działało ustawienie .ttimeoutlen
Można również ustawić limit czasu dla samych kodów klawiszy. Zobacz vim's:help ttimeoutlen
:set noesckeys
lub:set timeout timeoutlen=1000 ttimeoutlen=100
... Jakieś pomysły? (Cygwin, VIM skompilowany ze źródła)'esckeys'
jest włączona, dlaczego nie mogę wpisać sekwencji<esc>[A
w trybie wstawiania, aby przesunąć kursor w górę?Dzieje się tak, jeśli naciśniesz „O” zaraz po klawiszu Escape, prawda? Zawsze zakładałem, że to dlatego, że kierowca terminalu trochę czekał, żeby zobaczyć, czy zamierzasz ukończyć sekwencję ucieczki.
źródło
Podejrzewam, że to wtedy, gdy musisz zapisać plik wymiany na dysk. Upewnij się, że używasz vima na komputerze z szybkim dostępem do dysku; jeśli musisz użyć współdzielonego systemu plików, możesz spróbować przenieść plik wymiany za pomocą
źródło