题
我想了解类似的程序 vim
或者 man
在外壳中工作。他们如何让用户滚动,刷新显示等?
他们似乎与某些控制台库进行互动,因此操纵了我们所看到的。到底发生了什么?
解决方案
终端有所谓的 终端驱动程序. 。从硬件接口的意义上讲,这不是驱动程序,而是解释某些字符序列,这些序列使其执行滚动,文本属性等操作。
字符序列存储在 Terminfo数据库. 。一个库 诅咒 (或它的现代等价物, ncurses)读取终端数据库,并根据所谓的函数排放各种字符序列。
将终端数据库与终端驱动程序本身分开,允许程序支持许多终端,例如XTERM,文本控制台,网络客户端,甚至通过串行线连接的远程哑D终端。
其他提示
不隶属于 StackOverflow