Как открыть vim-подобный, подобный manpage-подобный показ, используя python? - PullRequest
0 голосов
/ 28 ноября 2018

Когда вы открываете vim или man-страницу, вы не можете прокрутить вверх и проверить свои предыдущие команды, вы просто остаетесь в этом изолированном дисплее.

Как работает эта магия?Как реализовать это с помощью Python?

Или, по крайней мере, скажите, как называется эта штука, так что я правильно ее гуглю.

1 Ответ

0 голосов
/ 28 ноября 2018

Это называется Альтернативный экранный буфер .Эмулятор терминала предоставляет два режима: основной и альтернативный ;последний не имеет прокрутки назад, и при переключении между этими буферами содержимое в них сохраняется.smcup и rmcup ANSI Escape-последовательности используются для переключения.

Например, в следующем примере текст баннера FOOBAR отображается в течение трех секунд вальтернативный буфер, затем переключается обратно на основной:

$ tput smcup; banner foobar; sleep 3s; tput rmcup

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...