дальнейшее чтение

дальнейшее чтение

Я активный пользовательрыбья раковинаи мне это очень нравится.

Но есть один вопрос:

на страницеhttps://fishshell.com/docs/2.1/index.htmlесть параграф под названием«Редактор командной строки». В нем перечислено множество полезных сочетаний клавиш.

Что для меня самое интересное, этоctrl-L. Согласно описанию: "Ctrl-L очищает и перерисовывает экран". Я попробовал, и это работает так, как и хотелось. Однако оно выдает некоторые знаки, которые добавляются к предыдущему приглашению. Это можно увидеть при прокрутке назад.

Пример:

rosika@... ~/Schreibtisch> [3;J
rosika@... ~/Schreibtisch>

Вот [3;Jо чем я спрашиваю. Это [действительно какой-то прямоугольник с (я полагаю) 4 цифрами внутри.

Может кто-нибудь сказать, почему происходит это явление? В чем оно заключается и должно ли так быть?

Заранее большое спасибо.

Привет

Росика

Моя система:

Linux/Lubuntu 16.04.4 LTS, 64 бит

рыба v. 2.2.0-3

решение1

Терминалы Unix заполняются содержимым путем интерпретации управляющих последовательностей и текста, смешанных в одном потоке. Многие символы могут быть как текстом, так и управляющим кодом, и их значение зависит от контекста.

<esc> [3;J— одна из таких последовательностей. В неправильном контексте она печатается, в правильном контексте — часть сброса дисплея.

Более подробную информацию см. на страницах руководства termcap, console_codes, и .tput

решение2

Ваш эмулятор терминала не соответствует значению TERMпеременной среды. Наиболее распространенная ошибка — думать, что что-то, что не является XTerm, будет соответствовать записям termcap/terminfo с именами xtermили xterm-newили xterm-256color.

Ваша запись terminfo определяет относительно новую E3возможность (в настоящее время указанную для linux, putty, putty-256color, xterm-basic, xterm-new, xterm, xterm-256colorи нескольких других типов терминалов), которая сообщает программам, что есть буфер прокрутки для очистки и как его очистить. Но ваш эмулятор терминала на самом деле не поддерживает эту последовательность управления и вместо этого выводит то, что вы видите в ответ на нее. Оболочка fish выполняет команду clear, которая теперь использует это дополнение terminfo.

Имя, указанное в значении переменной TERMсреды, должно совпадать с именем записи termcap/terminfo, которая правильно описывает работу вашего эмулятора терминала.

дальнейшее чтение

Связанный контент