linux – VT100 ANSI转义序列:获取屏幕大小,条件ANSI
发布时间:2020-12-14 01:12:42 所属栏目:Linux 来源:网络整理
导读:当我在终端上调整大小时,它会全屏显示. 我猜,有些东西可以找出终端的屏幕尺寸.我怎么能在VT100中做到这一点? 当我列出文件夹时,它显示蓝色文件夹. (或者说不同的颜色)但是,如果将输出保存到文本文件(ls out.txt),则不会看到任何ANSI代码而是纯文本.但是,如
>当我在终端上调整大小时,它会全屏显示.
我猜,有些东西可以找出终端的屏幕尺寸.我怎么能在VT100中做到这一点? >当我列出文件夹时,它显示蓝色文件夹. (或者说不同的颜色)但是,如果将输出保存到文本文件(ls> out.txt),则不会看到任何ANSI代码而是纯文本.但是,如果您尝试(vi> out.txt),您将看到ANSI代码.怎么知道的? 谢谢 解决方法
自动调整到屏幕大小调整的程序(例如vi)响应SIGWINCH信号,并使用系统调用获取系统有关屏幕大小的信息.例如,参见
Get width/height of a terminal window in c++?.顺便说一下,虽然广泛实施,但似乎没有在POSIX
signal.h 中记录.
如果不考虑SIGWINCH,程序可以向终端询问其屏幕大小. >将光标移动到右下角(实际上,移动到行/列999/999,这已经足够了),和 关于ANSI控制序列的ls和vi(以及其他程序)的行为将嵌入其输出中取决于程序的设计.他们可能会使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |