如何更改文字颜色和mac终端的背景?

时间:2014-08-01 21:49:22

标签: macos unix colors terminal

我正在编写一个需要用不同颜色写文本的程序。 我有转义码RED" \e[31m".但是,如果我在红色背景上做红色,那就不行了。所以我也想改变背景颜色。 我已尝试使用此"\e[31m\e[94m"或者甚至\e[4Xm在不同的背景上做文字,但是,这不起作用。有什么想法在白色背景上获得红色文字?

格式为std :: cout<< " COLORNAME" ....

谢谢!

1 个答案:

答案 0 :(得分:4)

多个SGR选项可以链接在一起,实际上比您尝试过的更紧凑。 SGR语法采用以下一般形式:

  

\e[ 选项 m

其中 options 可以由一个*或多个以分号分隔的数字组成,这些数字可以包含许多内容,尤其是:

  • 1:粗体
  • 30 - 37:设置前景色0 - 7(黑色,红色,绿色,黄色,蓝色,品红色,青色,白色)
  • 40 - 47:设置背景颜色0 - 7(同上)
  • 90 - 97:设置前景色8 - 15(0 - 7的亮色;“亮黑色”是深灰色)
  • 100 - 107:设置背景颜色8 - 15(同上)

在您的情况下,白色背景上的红色文字为\e[31;47m


(*:或者根本没有数字,在这种情况下它会重置所有图形选项。)