2012-01-06 3 views
184

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

Есть ли способ сделать это?

ответ

139

man page объясняет, что вы можете войти в режиме командной строки в запущенной сессии, набрав Ctrl +, :, затем запускающей команды scrollback <num>.

+3

Вам нужно будет сделать для каждого окна текущего экрана индивидуально. –

+0

где '' - количество строк прокрутки – rakslice

276

Нажмите Ctrl-а затем :, а затем введите

scrollback 10000 

, чтобы получить буфер на 10000 строки, например.

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

defscrollback 10000 

в файл ~/.screenrc.

Для прокрутки (если терминал не позволит вам по умолчанию), нажмите Ctrl-аESC, а затем прокручивать (с обычной Ctrl-F на следующей странице или Ctrl-A для предыдущей страницы или просто с помощью колеса мыши/двух пальцев). Чтобы выйти из режима прокрутки, просто нажмите ESC.

Еще один совет: Ctrl-ая показывает текущие настройки буфера.

+5

+1 для подсказки с defscrollback, который установлен в 1024 Ubuntu 12.10 (который я должен использовать на работе). – erik

+2

'byobu-screen' на Ubuntu 12.04, похоже, устанавливает defscrollback на 10000 – chronospoon

+2

. Я хотел бы указать, что если ваш screenrc открывает дополнительные условия для вас, вам нужно поместить defscrollback перед открытием окна, иначе они просто получат по умолчанию 1024 – majikman

1

Для потомков этот ответ неверен, как отметил Стивен Лу. Однако оставить исходный текст.

Оригинальный ответ:

Для тех, кто прибывает с помощью веб-поиска (несколько лет спустя) ...

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

Убедитесь, что вы увеличиваете BOTH буфер прокрутки шпатлевки, а также буфер прокрутки экрана, иначе ваше окно шпатлевки не позволит вам прокрутить назад, чтобы просмотреть историю прокрутки (преодолеть прокрутку в пределах экрана с помощью ctrl+a->ctrl+u)

Вы можете изменить свой предел прокрутки замазки в категории «Окно» в настройках. Выход и повторное открытие сеанса шпатлевки на экране не закроют ваш экран (при условии, что вы просто закроете окно шпатлевки и не набираете exit), как этого требует OP.

Надеюсь, что поможет определить, почему увеличение буфера прокрутки экрана не решает чью-то проблему.

+14

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

+0

хорошие моменты, и я считаю, что вы правы ... Интересно, Я должен удалить свой ответ? –

+0

Я не уверен. Поскольку это также удалит мой комментарий, который нравится людям. –

0

Существует минимальное количество буфера по умолчанию при запуске сеанса «экрана» в вашей «сеансе шпатлевки». Я много использую экраны в своей работе, поэтому могу сказать, что у вас не будет комбинации буфера «screen» «шпагат» в сеансе «экрана».

Установка значения по умолчанию числа строк прокрутки путем добавления defscrollback 10000 в ваш файл ~/.screenrc является правильным решением.

BTW, я использую «defscrollback 200000» в своем файле ./screenrc.

Смежные вопросы