2010-11-15 91 views
3

我想了解vimman等程序如何在shell中工作。他們如何讓用戶滾動,刷新顯示等?交互式控制檯程序如何工作?

他們似乎與一些控制檯庫進行交互,因此操縱我們所看到的。究竟發生了什麼?

回答

7

該終端具有所謂的終端驅動程序。這不是硬件接口意義上的驅動程序,而是它解釋某些字符序列,使其執行諸如滾動,文本屬性等操作。

字符序列存儲在terminfo數據庫中。稱爲庫詛咒(或它的等效現代,的ncurses)讀取terminfo數據庫併發出基於稱爲功能的各種字符序列。

分離出從終端驅動程序本身terminfo數據庫允許程序以支持多個終端如xterm,文本控制檯,網絡客戶端,甚至通過串行線連接的遠程啞終端。

相關問題