如图所示,经常看到这样展示的程序,但是不知道该怎么写代码
只知道\r
可以刷新本行
这样刷新全屏幕到底是怎么实现的?不可能是一次刷一屏吧? 我所使用的编程语言有 go,java,python,尝试了很多种方法都弄不出来,求解
1
Northxw 2019-06-17 15:23:18 +08:00
有 vim 命令,自己谷歌
|
2
dorentus 2019-06-17 15:44:39 +08:00 via iPhone
去看看 libncurses
|
3
ysc3839 2019-06-17 16:39:44 +08:00
这种应该是用 ansi escape sequences 或者叫 vt sequences 实现的吧。
|
5
Vegetable 2019-06-17 17:10:08 +08:00
比较成熟的项目之前留意到 node 有一个
https://www.npmjs.com/package/dynamic-terminal 核心就是 3 楼说的东西,和浏览器里边 react 的思路是差不多的,大概就是文本 diff,然后刷新发生了变化的地方. |
7
Keyss OP @Vegetable 但是这个是在 console 里面更新的,更前端的不一样啊,console 的话是标准准备要修改得回到上面一行,所以也就是这个他就是在一行里面输出的
|
8
Keyss OP OK
谢谢大家 可以在 GitHub 搜索对应的 tui 或者 cui,cli,之类的关键字 |