Czasami, po naciśnięciu klawisza strzałki (zwykle w górę) wewnątrz powłoki, terminal lub powłoka nie ESC
wypisuje znaku przed sekwencją ucieczki, więc jeśli nacisnę strzałkę w górę, aby spróbować zobaczyć ostatnie polecenie, wyświetli [A
bash i OA
na zsh, zamiast ostatniego polecenia. Działa poprawnie przy następnym naciśnięciu klawisza strzałki.
Dzieje się tak niezależnie od używanego emulatora terminali lub powłoki (ale używa OA
zamiast [A
zsh).
Nie mogę dokładnie określić, w jakich okolicznościach to się dzieje, wydaje się to dość losowe, ale zwykle dzieje się to przy następnym naciśnięciu strzałki po zmianie okna za pomocą menedżera okien (i3).
To nie dlatego, że nacisnąłem klawisz zbyt szybko po zmianie okna, ponieważ mogę przełączać okna, pisać tekst w powłoce, a następnie nacisnąć klawisz strzałki, a on nadal będzie wyświetlał [A
/ OA
.
Może to być związane z faktem, że używam i3 jako mojego menedżera okien.
Czy mogę coś zrobić, aby naprawić lub usunąć ten problem?
ESC
klawisz zanim wystąpi ten problem. To nie jest tak, że otwierający ESC sekwencji jest połykany; zamiast tego jest połączony z poprzednio buforowanej jeden (dwa bajty ESC postać co), a następnie kolejneOA
lub[A
traktowane są jako proste ciągów zakodowanych.ESC
klawisz przed wydaniem, jest on w innym terminalu. NaciśnięcieESC
klawisza w innym terminalu (zwykle w vimie), a następnie przełączanie terminali czasami powoduje problem, ale nie zawsze jest powtarzalne.alt+hjkl
(alt to klawisz mod)Odpowiedzi:
Nie mam wystarczającej reputacji, aby zamieszczać komentarze, więc proszę, nie głosujcie proszę, przenieście moją odpowiedź na komentarze, jeśli macie wrażenie, że jest to bardzo głupie:
Widzę cztery możliwe scenariusze (bardzo ogólne ze względu na brak szczegółów dotyczących sterownika, jądra, dystrybucji, modelu klawiatury ...):
Możliwe rozwiązania:
źródło