Есть ли способ получить 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
файл, если вы хотите, чтобы эффект был постоянным.