像vi或man或任何其他程序这样的程序如何用程序自己的内容替换终端内容然后在退出这些程序后又带回旧的终端内容?
解决方法:
Vi翻转到备用屏幕缓冲区,由终端支持.这是使用转义序列实现的.有关详细信息,请参见this link.
这些的termcap条目是’ti’进入,’te’退出全屏模式.
正如@Celada在下面指出的那样,硬编码xterm转义序列不是一个好主意™,因为序列根据$TERM而变化,例如:
xterm-color
ti: 7 [ ? 47 h
te: [ 2 J [ ? 4 7 l 8
xterm-256color
ti: [ ? 1 0 4 9 h
te: [ ? 1 0 4 9 l
另一方面,xterm支持目前在非xterm终端中非常广泛.仅支持xterm不太可能导致问题,除了具有异国情调或过时的$TERM设置的用户.资料来源:我支持这样做的产品.
标签:linux,unix
来源: https://codeday.me/bug/20190927/1823172.html