首页 > 解决方案 > 如何使用 python 打开类似 vim、类似手册页的隔离显示?

问题描述

当您打开 vim 或联机帮助页时,您无法向上滚动并检查以前的命令,您只能停留在这个孤立的显示中。

这个魔法是如何工作的?如何用python实现它?

或者至少说一下这个东西是怎么称呼的,所以我用谷歌搜索它。

标签: pythonvim

解决方案


这就是所谓的备用屏幕缓冲区。终端仿真器提供两种模式:primaryalternate;后者没有回滚,当您在这些缓冲区之间切换时,它们中的内容会被保留。和smcupANSIrmcup 转义序列用于切换。

例如,以下内容FOOBAR在备用缓冲区中显示横幅文本三秒钟,然后切换回主要缓冲区:

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

在 Python 中,您可以在应用程序启动和退出时打印相应的转义序列;甚至可能有一个图书馆可以为您做到这一点。


推荐阅读