mwm*_*mwm 3 curses shell console
我想了解程序,如vim或man在外壳做工.他们如何让用户滚动,刷新显示器等?
它们似乎与某些控制台库交互,因此操纵我们看到的内容.真的发生了什么?
终端具有所谓的终端驱动程序.这不是硬件接口意义上的驱动程序,而是解释导致其执行诸如滚动,文本属性等操作的某些字符序列.
字符序列存储在terminfo数据库中.名为curses(或其现代等价物,ncurses)的库读取terminfo数据库,并根据调用的函数发出各种字符序列.
将terminfo数据库与终端驱动程序本身分开允许程序支持许多终端,例如xterm,文本控制台,网络客户端,甚至是通过串行线连接的远程哑终端.