Есть ли способ исправить неправильное обращение экрана с переносом строки? (Может быть, только Terminal.app)

5136
AlexMax

У меня проблема с использованием экрана и Terminal.app. Если я получаю приглашение bash в нижней части экрана и продолжаю печатать, пока строка не переместится на следующую строку, я увижу следующую строку, но не вижу строки выше этого изменения.

Вот наглядный способ проиллюстрировать мою проблему. | представляет правую часть терминала.

До. Мой курсор находится после третьего «примера», и я собираюсь напечатать «пример» в четвертый раз:

$ asdf | bash: asdf: command not found | $ example example example | 

После. Обратите внимание, что после переноса экран не прокручивался, а вместо этого «съел» строку, на которой я находился, и начал заново:

$ asdf | bash: asdf: command not found | ple | 

Что я ожидал (и что происходит без использования экрана), так это то, что весь экран прокручивается вниз один раз после переноса.

bash: asdf: command not found | $ example example example exam| ple | 

Наконец, вот что происходит, если я перемещаю курсор на перенесенной строке в начало командной строки, она съедает предыдущую строку:

$ asdf | $ example example example exam| ple | 

Есть идеи, что происходит?

8
Терминал GNOME и экран 4 обернуты, как и ожидалось, FWIW. Какую версию вы используете и изменили ли вы какие-либо конфигурации по умолчанию? Bernard 15 лет назад 0
Это происходит при подключении к двум разным машинам. На моем компьютере с Debian есть экран 4 с некоторыми пользовательскими настройками, и в моем окне rhel 5.3 также есть экран 4 без пользовательских конфигураций, и оба блока работают точно так же. AlexMax 15 лет назад 0
У меня точно такое же поведение. Другой признак этого (не описанный выше) состоит в том, что после того, как предыдущая строка «съедена», с выбором происходят странные вещи. Начните выделение мышью, и все, что находится под выделением, будет отображаться правильно. Пример: если вы выберете строку «$ asdf» в последнем примере выше, она внезапно изменится на «bash: asdf: команда не найдена» (что и должна сказать предыдущая строка). Это как если бы экран просто не перерисовал эти линии, но должен был. Как будто забывает пометить эти строки как грязные, нуждающиеся в повторной визуализации. Eddified 14 лет назад 0
В любое время он начинает портиться, просто выберите все (COMMAND + A), чтобы экранный буфер выглядел правильно. Eddified 14 лет назад 0
Кроме того, это не проблема в iTerm.app Eddified 14 лет назад 0

3 ответа на вопрос

6
Nate

Успех! Я попробовал предложение отсюда:

https://serverfault.com/questions/272818/screen-not-dropping-down-a-line

что добавить:

termcapinfo xterm* ti@:te@ 

на ваш .screenrcи перезагрузите экран. Это меняет поведение прокрутки экрана на что-то, вероятно, лучше для моего среднего случая использования (например, я могу использовать прокрутку терминала, пока я остаюсь в том же окне), в дополнение к решению проблемы OP.

Кроме того, я могу подтвердить проблему в 10.7 Terminal.app.

Хорошая детективная работа! К сожалению, я много пользуюсь несколькими окнами экрана, поэтому это не сработает. AlexMax 12 лет назад 0
1
wfaulk

Это может быть «горизонтальный режим прокрутки» в readline. Запустите следующую команду:

bind 'set horizontal-scroll-mode off' 

и посмотрим, изменятся ли ваши симптомы. Если это так, вы можете установить это в ~ / .inputrc

не помогло это в моем случае. Eddified 14 лет назад 0
0
Eddified

Зайдите в настройки терминала и измените настройку «Объявить терминал как:» с «xterm-color» на «xterm». Это исправило это для меня (но также имеет последствия отключения altscreen :()

Я уже настроил Terminal.app таким образом, и он не помог мне с моей проблемой. Режим горизонтальной прокрутки отключен по умолчанию в соответствии с man-страницей экрана, и я нигде не вижу, чтобы он был включен. Облом. Очень хотел бы найти решение этой проблемы. Tim Harper 13 лет назад 0

Похожие вопросы