有几个像ncurses这样的库可以帮助制作命令行GUI.
简单地说,它们是如何工作的?
我的第一个想法是ncurses拦截所有键盘输入,并通过逐行输出来绘制每个"帧".然而,仔细检查发现每个新框架都会覆盖前一个框架.它如何修改已经输出的行?此外,它如何处理颜色?
编辑:同样的问题适用于任何具有"花哨"界面的东西,比如vim和emacs.
vim
emacs
user-interface command-line internals ncurses
command-line ×1
internals ×1
ncurses ×1
user-interface ×1