2

У меня обычно есть длинные команды терминала, и всякий раз, когда я пытаюсь использовать историю команд (нажимая стрелку вверх), форматирование текста становится искаженным, и курсор появляется в неправильном месте. На этом этапе редактирование становится невозможным, и фактическое положение курсора не отображается должным образом на экране.

Если я изменяю размер окна терминала, чтобы вся команда помещалась на одной строке, то форматирование исправляется, но иногда мне не хватает места на экране, чтобы выполнить это. Есть идеи?

2 ответа2

6

Вы настраивали приглашение оболочки (например, раскрашивание или что-то в этом роде)? Обычная причина, по которой это происходит, заключается в том, что в вашем приглашении есть непечатаемые символы (например, последовательности изменения цвета), и они путают оболочку с тем, насколько широким является приглашение, и, следовательно, как переносить командную строку.

Предполагая, что вы используете bash в качестве оболочки, правильное решение - обернуть непечатаемые последовательности в \[...\] чтобы оболочка знала, что они не печатаются. Например, если вы хотите, чтобы ваша подсказка была синей (\e[0;34m чтобы она стала синей, \e[m чтобы вернуться к нормальной жизни), вы должны использовать:

PS1='\[\e[0;34m\]your prompt text here\[\e[m\]'
0

Это происходит на вашем локальном компьютере - я имею в виду, что вы не подключили SSH к другому компьютеру? Если это локально, попробуйте выйти из Terminal.app, удалить файл .plist и заново открыть Terminal.app.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .