前言

ANSI定义了用于屏幕显示的Escape屏幕控制码,打印输出到终端时,可指定输出颜色、格式等。

基本格式

1
\033[<background color>;<front color>m string to print \033[0m
  • \033[ xxxx m为一个句段;
  • \033[0m关闭所有属性;

光标控制

ANSI控制码 含义
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH 设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标

颜色控制

ANSI控制码 含义
\033[m NONE
\033[0;32;31m RED
\033[1;31m LIGHT RED
\033[0;32;32m GREEN
\033[1;32m LIGHT GREEN
\033[0;32;34m BULE
\033[1;34m LIGHT BLUE
\033[1;30m GRAY
\033[0;36m CYAN
\033[1;36m LIGHT CYAN
\033[0;35m PURPLE
\033[1;35m LIAGHT PURPLE
\033[0;33m BROWN
\033[1;33m YELLO
\033[0;37m LIGHT GRAY
\033[1;37m WHITE

背景色与字体颜色符号不同

背景色 字体色
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色

格式控制

ANSI控制码 含义
\033[0m 关闭所有属性
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐

举例

例如用python打印输出

1
2
3
4
5
6
print("\007")                       # 发出提示音
print("\033[42:31m hello! \033[0m") # 绿底红字` hello! `
print("\033[4m") # 开启下划线
print("\033[42:31m hello! \033[0m") # 下划线绿底红字` hello! `
print("\033[0m") # 关闭所有格式
print("\033[2J") # 清屏

Reference

  1. “\033”(ESC)的用法-ANSI的Esc屏幕控制 - CSDN
  2. Useful Terminal Control Sequences - student.cs.uwaterloo.ca