Создание виртуального хоста с помощью nginx

Комментарий «от верхней части экрана до текущей строки» неоднозначен. Если вы имели в виду верхнюю часть видимой части экрана, это не прокрутка . Обратная прокрутка терминала - это часть, которую вы можете увидеть только с помощью полосы прокрутки (или подходящих клавиш, таких как shift pageup).

XTerm Control Sequences документирует соответствующую escape-последовательность:

CSI Ps J  Erase in Display (ED).
            Ps = 0  -> Erase Below (default).
            Ps = 1  -> Erase Above.
            Ps = 2  -> Erase All.
            Ps = 3  -> Erase Saved Lines (xterm).

Возможность описания терминала clear использует предпоследний, например,

clear=\E[H\E[2J

, чтобы поместить курсор в верхний влево, а затем очистить весь (видимый) экран. Вы могли использовать Удалить ниже , но это не используется в описании терминала.

Относительно очистки прокрутки : Это специфическая для терминала функция, изначально escape-последовательность в xterm ( 1999 , описанная в ctlseqs.ms , но не упомянутые в изменениях) и позже ( 2011 ) реализованы как расширение для консоли Linux и соответствующее описание терминала. В базе данных терминала он указан как «разное расширение» .

В настоящее время в этих описаниях терминалов есть функция:

  • linux3.0 (текущее значение по умолчанию для «linux»)
  • putty
  • xterm + basic (строительный блок, используемый в большинстве Варианты "xterm")

Вопрос о том, поддерживается ли он в аналогах xterm, таких как VTE, нужно будет проверить (нет полезной документации для VTE или Konsole).

Если вы предпочитаете не использовать расширение, вы можете удалить возможность E3 из описания терминала, которое вы используете, например,

infocmp -1x >foo
edit foo, removing the line with "E3="
tic -x foo

Я предложил использовать параметры -1 и -x , чтобы упростить форматирование и показать возможность изменения. Пример, приведенный в https://ghostbin.com/paste/kfsbj , соответствует этому совету:

  • путь /home/flowerpick/.terminfo/x/xterm будет может использоваться ncurses
  • , возможности AX и XT - это расширенные возможности (например, E3 ), показанные с параметром -x .

Если вы используете более одного типа терминала, вам придется сделать это для каждого (значение $ TERM ), и изменение применяется только к машине, на которой вы запускаете clear .Первая пара строк вывода infocmp показывает, над какой из них вы работаете:

#   Reconstructed via infocmp from file: /home/flowerpick/.terminfo/x/xterm
xterm|xterm terminal emulator (X Window System),

Например, uxrvt устанавливает для $ TERM что-то вроде ] rxvt-unicode , создавая такие строки в infocmp :

#       Reconstructed via infocmp from file: /lib/terminfo/r/rxvt-unicode       
rxvt-unicode|rxvt-unicode terminal (X Window System),

Программа st использует xterm (или, возможно, xterm-256color ), хотя прошло некоторое время с тех пор, как я видел копию того , которая работала достаточно хорошо, чтобы давать комментарии.

Между прочим, вы могли иметь псевдоним для clear , который отправляет заданную escape-последовательность (игнорируя описание терминала), но я не видел, чтобы кто-нибудь об этом сообщил .

Если вы хотите «очистить выше», это не так просто, как ввести «очистить». Escape \ 033 [1J стирается из верхнего левого угла в текущую позицию курсора. Вы можете создать сценарий, который сделает это, чтобы очистить только строки над вашим текущим курсором:

  • используйте отчет о положении курсора, чтобы найти строку / столбец, в котором находится курсор в данный момент, и
  • если курсор находится не на первой строке (сохраняя эту позицию), переместите курсор на одну строку вверх, а затем (с помощью последовательности hpa ) переместите вправо большое число,
  • выдать «очистить выше» и
  • вернуться в исходное положение с помощью чашки (адресация курсора).

Кажется, что часть с отчетом о положении курсора не будет работать (например) в привязке строки чтения, поэтому я предложил сценарий.Вы могли бы сделать привязку, которая использовала бы возможности курсора сохранения / восстановления, если бы не было проблемы с нахождением в первой строке.

2
04.09.2016, 22:02
0 ответов

Теги

Похожие вопросы