Назад | Перейти на главную страницу

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

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

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

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

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

Одна вещь, которую вы можете сделать, если используете 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. По умолчанию для этого ресурса установлено значение «false».

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