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 przed wydaniem, jest on w innym terminalu. Naciśnięcie ESC
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)
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.