1

我想像 less 一样接管控制台,以制作更具交互性的应用程序。似乎他们可以完全控制在哪里绘制什么。我怎样才能做到这一点?

4

4 回答 4

5

它使用ncurses库来处理终端。

于 2011-01-24T19:55:25.867 回答
1

主要less和其他全屏终端应用程序使用交替屏模式;也称为 DEC 模式 1049。terminfo将进入/退出此模式所需的字符串存储在

enter_ca_mode=\E[?1049h
exit_ca_mode=\E[?1049l

一旦进入备用屏幕模式,您就可以通过通常的转义序列完全控制屏幕,在大多数终端上绘制到一个完全独立的“缓冲区”,从而使常规缓冲区(例如可能包含 bash 回滚)不受影响。当您再次离开备用屏幕模式时,它会恢复以前的内容和光标状态。

于 2012-03-13T11:23:34.027 回答
0

在系统文档中查找“诅咒”。

于 2011-01-24T19:54:41.373 回答
0

ANSI 转义码可能是一个起点。http://en.wikipedia.org/wiki/ANSI_escape_code

于 2011-01-24T19:56:13.607 回答