Problemy z kursorem historii terminala Mac / iTerm


13

Tak często uruchamiam polecenie w Terminal.app lub iTerm, naciskam strzałkę w górę, aby wrócić do edycji, a kursor przeskakuje do linii powyżej lub gdzieś całkowicie w niewłaściwym miejscu. Dzieje się tak szczególnie wtedy, gdy polecenie jest tak długie, że zawija się do następnej linii. Czasami wszystkie te długie polecenia pojawiają się w jednym wierszu, a czasami są wyświetlane poprawnie w wielu wierszach.

Dzieje się tak zarówno w iTerm, jak i Terminal.app

Zdarza się również w trybach vi i emacs, co czyni je praktycznie bezużytecznymi.

jakieś pomysły? dzięki!

Odpowiedzi:


21

Jest to najprawdopodobniej dlatego, że twoja definicja pytania zawiera sekwencje, których nie należy liczyć do długości pytania, na przykład do ustawiania kolorów. Sekwencje te powinny znajdować się pomiędzy \[i, \]aby zapobiec policzeniu ich długości. Oto przykład, w którym pojawia się całkowicie czerwony monit:

PS1='\[\033[31m\]\u@\h:\w\$\[\033[0m\]'

Ta linia znajduje się w pliku konfiguracyjnym (jak .bashrclub .bash_profile), dla każdego - jak ja - który nie ma pojęcia po przeczytaniu odpowiedzi.
montrealista

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.