замазка и экран и буфер с обратной прокруткой [закрыто]

38

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

Что мне здесь не хватает? Мне нравится возможность прокрутки назад, и я не хочу использовать экранные функции для просмотра прошлого буфера; колесо прокрутки на моей мыши не имеет крюков на экране, и я не ожидаю, что это когда-либо будет.

Благодарность!

Крис
источник

Ответы:

40

Вы также можете проверить FAQ по экрану, который допускает своего рода гибридное поведение:

Резюме: добавьте строку в ваш файл .screenrc:

termcapinfo xterm ti @: te @

Ссылка ( Putty FAQ )

Эмулятор терминала PuTTY всегда придерживался политики, что при использовании «альтернативного экрана» в прокрутку ничего не добавляется. Это связано с тем, что обычные программы, использующие альтернативный экран, - это текстовые редакторы, которые часто прокручивают назад и вперед в одном и том же документе; поэтому (а) они заполнили бы прокрутку большим количеством бесполезно неупорядоченного текста, и (б) у них был свой собственный метод, позволяющий пользователю прокрутить назад до интересующего его фрагмента. Как правило, эта политика выполняется Правильная вещь почти во всех ситуациях.

К сожалению, экран является одним исключением: он использует альтернативный экран, но все же обычно полезно, чтобы прокрутка PuTTY продолжала работать. Самое простое решение - перейти на панель управления функциями и поставить галочку «Отключить переключение на альтернативный экран терминала». (Подробнее см. В разделе 4.6.4.) В качестве альтернативы вы можете указать самому экрану не использовать альтернативный экран: в разделе часто задаваемых вопросов по экрану предлагается добавить строку «termcapinfo xterm ti @: te @» в файл .screenrc.

KnipSter
источник
Гораздо лучший набор решений.
Занчи
16

Для прокрутки назад нажмите ^A( Ctrl-Aили любую другую последовательность управления экраном, если вы переназначили ее), а затем Esc. Это позволит вам перемещать курсор вверх и вниз. PgUp/ PgDnпозволит вам прокручивать вверх и вниз внутри экрана.

Причиной этого является способ, которым экран обрабатывает буфер прокрутки. Экран всегда рисует всю текстовую область и имеет свой собственный буфер, который вы должны контролировать с помощью экрана. Это похоже на использование программ, таких как vi или joe, которые занимают всю текстовую область и предоставляют свой собственный буфер: прокрутка вверх в эмуляторе терминала просто выдает мусор, но прокрутка внутри этих программ дает ожидаемый результат.

Эндрю Сканелли
источник
Поэтому единственный способ , я бы иметь возможность использовать колесо прокрутки на моей мыши (хорошо, я буду что ленивый!), Если я переназначить его каким - то образом отправить [экран клавишу Escape] затем ESC затем вверх и вниз? Тьфу, это слишком много работы ...
Крис
@ Крис: Если вы используете шпаклевку, у вас уже должны быть руки на клавиатуре. Если у вас есть ноутбук, попробуйте посмотреть, можете ли вы переназначить некоторые ключи, которые вы используете не так часто, в PgUp / PgDn.
Эндрю Скангелли
много раз вы смотрите на длинный вывод команды в замазке, и с помощью колеса удобнее прокручивать назад и вперед, чем с клавиатуры.
Элазар Лейбович
2

Это из-за того, как работает экран. Экран выполняет динамическое обновление всей текстовой области, а не выдвигает новые строки в нижней части экрана, что, в свою очередь, выдвигает верхнюю строку в область прокрутки назад. Он перерисовывает весь экран, когда появляется новая строка, что предотвращает повторный просмотр данных. Та же проблема существует в «меньше», когда не используется экран.

sysadmin1138
источник
Не могу сказать, что когда-либо замечал с меньшими затратами, но это, вероятно, потому что я всегда нахожусь внутри экрана. Спасибо за специфику как и почему!
Крис
1

Экран с прокруткой Putty работает автоматически в Solaris 10. Похоже, он выполняет то, что KnipSter сказал по умолчанию, хотя у меня нет файла .screenrc. Проблема с этим подходом состоит в том, что, если вы отсоединяете и повторно присоединяете, тогда в Putty нет буфера обратной прокрутки, и вы должны прибегнуть к использованию прокрутки экрана, как описано Scagnelli.


источник
Экран поставляется с Solaris 10 в эти дни? Это массажная версия на солнце или все, что вы получаете от гну? Это действительно интересно, что это работает именно так в данном конкретном случае. Спасибо за информацию!
Крис