ysc3839
2023-10-03 22:25:38 +08:00
补充:推荐使用 mintty(以及不推荐 Windows 下其他几乎所有终端)的原因是:
Windows 下 CLI 程序曾经设置终端文字颜色,移动光标等等操作都需要调用系统 API ,并不支持类 Unix 系统的 ANSI escape code 。同时曾经 Windows 也缺少用于模拟终端的 pty API 。
从 Win10 开始,微软给 Windows 加入了 ANSI escape code 和 pty 支持。但是为了兼容曾经那些不使用 ANSI escape code 的程序,其中的逻辑类似 tmux 或者 screen ,会先更新内部的 buffer ,再把 buffer 的改动输出给终端。既然中间加了个转换层,就难免出现问题,就算没问题,可能也不支持某些高级特性,以及会影响性能。然后又因为现在已经有了官方的 pty API ,绝大多数终端都会直接用这个接口,就都会有上述问题。