Czasami, po naciśnięciu klawisza strzałki (zwykle w górę) wewnątrz powłoki, terminal lub powłoka nie ESCwypisuje znaku przed sekwencją ucieczki, więc jeśli nacisnę strzałkę w górę, aby spróbować zobaczyć ostatnie polecenie, wyświetli [Abash i OAna 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 OAzamiast [Azsh).
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?
ESCklawisz przed wydaniem, jest on w innym terminalu. Naciśnięcie ESCklawisza 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)
ESCklawisz 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 kolejneOAlub[Atraktowane są jako proste ciągów zakodowanych.