Есть ли способ получить xterm для прокрутки, чтобы очистить экран?

Я работаю на машине с Ubuntu Linux и ищу способ заставить xterm прокручиваться, когда все очищается, а не очищать экран и показывать предыдущее содержимое.

Это может не иметь смысла, так что пара примеров может. Когда я запускаю vim в xterm и нажимаю ctrl-Z, он стирает экран и показывает мне командную строку, которую я использовал для запуска команды. Вместо этого я хотел бы все еще видеть, что я редактировал. Или, читая справочную страницу, я нахожу нужную часть, поэтому нажимаю q, чтобы выйти, и экран очищается и показывает команду, которую я использовал для ее запуска, но информация, которую я искал со страницы справки, пропала.

Я обнаружил, что установка переменной среды TERM на vt100 дает мне прокрутку, которую я хочу, но у которой есть недостатки, такие как отключение цветов и ключевые действия в редакторах, которые смотрят на TERM. Например, в vim цвета не работают, а клавиша Page Down больше не использует страницы.

Есть ли способ получить как прокрутку, так и функции TERM=xterm?

2 ответа

Одна вещь, которую вы можете сделать, если вы используете less (также, если вы используете пейджер для man) установить LESS=X (плюс любые другие значения по умолчанию) в вашем ~/.bashrc файл. Это приведет к less оставить то, что отображалось на экране при выходе.

Эта команда включит эффект для любых XTerms, запущенных позже:

echo XTerm*VT100.TiteInhibit: True|xrdb -merge

Из xterm (1):

titeInhibit (класс TiteInhibit)

Указывает, должен ли xterm удалять записи ti и te termcap (используемые для переключения между альтернативными экранами при запуске многих программ, ориентированных на экран) из строки TERMCAP. Если установлено, xterm также игнорирует escape-последовательность для переключения на альтернативный экран. Xterm поддерживает terminfo другим способом, поддерживая составные последовательности управления (также известные как частные режимы) 1047, 1048 и 1049, которые имеют тот же эффект, что и исходная последовательность управления 47. Значением по умолчанию для этого ресурса является "ложь".

Поставить линию XTerm*VT100.TiteInhibit: True в вашей ~/.Xresources файл, если вы хотите, чтобы эффект был постоянным.

Другие вопросы по тегам