Я пытаюсь исправить небольшую (но раздражающую) проблему с моей подсказкой zsh. Проблема, которую я вижу, заключается в том, что когда я использую терминал в среде ОС с графическим интерфейсом (например, Terminal.app или iTerm 2 в OS X 10.7.2) и изменяю размер окна терминала, терминал перерисовывается с дополнительными подсказками ,
Я воспроизвел проблему на чистом .zshrc, который содержит следующее:
export PROMPT=">
"
Чтобы было ясно, это файл из двух строк. В строке есть буквальный символ новой строки, который я прочитал в нескольких (по общему признанию старых ) местах. Это работает до тех пор, пока я не изменю размер окна терминала, после чего я получаю дублирующиеся строки подсказок. Например, если я открываю новое окно, я вижу ( *
используется заполнитель для моего курсора):
Last login: Wed Jan 25 19:05:06 on ttys000
>
*
Затем, когда я изменяю размер окна, делая его короче, я получаю:
Last login: Wed Jan 25 19:05:06 on ttys000
>
>
>
>
*
Количество дополнительных быстрых распечаток кажется примерно пропорциональным тому, насколько сильно я изменяю размер окна - обычно по вертикали. Если я удалю новую строку из строки приглашения, проблема исчезнет.
Я пробовал разные вещи, например $(print ">\n")
, или пытался завернуть новую строку %{%}
. Я предполагаю, что это связано с тем, что символ новой строки сбивает с толку все, что рисует, относительно длины строки запроса или чего-то еще. Исправлена ли эта проблема или мне просто нужно с этим жить?
print
это ZSH-специфичная команда, и "linux print" Google не дает очень хороших результатов.print
является частью зш. Вы можете увидеть помощь для этого вman zshbuiltins
. У Bash есть свой эквивалент, но я не уверен, что они совместимы.Как насчет чего-то вроде этого:
источник