终端代码的含义\ 033 [E和\ 033 [07,出现在printf()语句中?

时间:2017-01-05 12:46:27

标签: terminal ansi-escape

在生命游戏计划的C实现中,如here所示,我提到的代码出现在show()函数中。我无法找到关于033[E的含义以及\033[07的任何信息,这通常是linux bash终端中的颜色代码,其中\ 033 [07 m 我们开始颜色编码,用\ 033 [ m 我们结束预定义的颜色编码。但是,根据this网站,它意味着"反向"。我不确定这意味着什么。

我对\033[E代码更感兴趣,但我找不到任何信息。通过Linux bash上的gcc测试和调试程序,我看到没有这个命令,输出不会按预期显示。如果有人可以分享这方面的知识,我将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:3)

序列ESC [ E是该源中的错误 - 或者可能是超正确的版本。代码为ESC E,用于将光标移动到the next line[表示它可以采用可选的数字参数(或更多),在这种情况下没有,因此可以省略。 (数字参数表示要跳过的行数; 01表示常规换行符,较高的值表示跳过行。)

定义很难找到,因为更常见的是使用\n - 常规换行代码 - 将光标移动到终端程序中下一行的开头。

序列ESC [07m还包含冗余代码,ESC [7m足以使终端进入反向模式。您可能习惯将此添加到颜色序列的开头,因此您可以设置文本的前景色(来自30..37的数字)而不是背景40..47),并使用空格绘制彩色块。