Объяснение (и предлагаемые эквиваленты) для строки инициализации xterm не совсем точны.
Начиная со строки из описания терминала xterm:
is2=\E[!p\E[?3;4l\E[4l\E>
у нас есть
CSI ! p Soft terminal reset (DECSTR).
CSI ? Pm l
DEC Private Mode Reset (DECRST).
...
Ps = 3 -> 80 Column Mode (DECCOLM).
Ps = 4 -> Jump (Fast) Scroll (DECSCLM).
CSI Pm l Reset Mode (RM).
...
Ps = 4 -> Replace Mode (IRM).
ESC > Normal Keypad (DECKPNM).
Но DECSTR
сбрасывает несколько вещей, не найденных в замене:
- форма и внешний вид курсора
- наборы символов
- другие режимы клавиатуры, связанные с приложениями / обычные режимы (
DECCKM
, KAM
, DECKPAM
)
- обтекание (и обратное свертывание)
- режим происхождения
Кроме того, он не очищает экран.
Причиной использования DECSTR
(с 1997 года) является сохранение размеров termcap достаточно маленькими, чтобы соответствовать пределу termcap в 1024 байта.
Настройки для screen
взяты из пакета Debian; упомянутый в комментарии отчет об ошибке - Debian # 134198 - screen: имеет какую-то странную проблему эмуляции, наиболее заметную в irssi и konsole, начиная с 2002 года. screen
не распознает эту последовательность, и, кстати, KDE konssole не реализует эту последовательность, поскольку в KDE # 134892, в то же время его разработчики заявляют в KDE # 145977, что они предпочитают не использовать значение TERM
отличное от xterm
. Так как некоторым пользователям может понадобиться описание терминала, которое соответствует возможностям konsole, оно находится в ncurses как konsole
, например:
is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8
против
is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
При удалении паразитного четкого экрана соответствующая часть настройки экрана
is2=\E[r\E[m\E[?7h\E[?1;4;6l
так что было оставлено (кроме DECCOLM
) \E[4l
.
\E7
и \E8
в строке инициализации сохраняют / восстанавливают положение курсора при настройке полей прокрутки. Как и в режиме вставки, некоторые пользователи заметят отсутствие этой функции.
Смысл настройки состоит в том, чтобы подавить DECCOLM
(столбец 80/132), и работа с урезанной и довольно старой настройкой экрана может не работать, а также адаптироваться к описанию терминала, написанному для терминала.
Дальнейшее чтение: