3

我想了解程序如何喜欢vimman在 shell 中工作。他们如何让用户滚动、刷新显示等等?

它们似乎与一些控制台库交互,从而操纵我们所看到的。到底发生了什么?

4

2 回答 2

7

终端具有所谓的终端驱动程序。这不是硬件接口意义上的驱动程序,而是解释某些字符序列,使其执行滚动、文本属性等操作。

字符序列存储在terminfo 数据库中。一个名为curses的库(或其现代等价物ncurses)读取 terminfo 数据库并根据调用的函数发出各种字符序列。

将 terminfo 数据库与终端驱动程序本身分开,允许程序支持许多终端,例如 xterm、文本控制台、网络客户端,甚至是通过串行线路连接的远程哑终端。

于 2010-11-15T02:55:53.820 回答
3

这是一个很好的方法:

你可能想看看第 17 章 - 使用终端。

于 2010-11-15T02:57:06.253 回答