You need to enable JavaScript to run this app. C语言控制台光标定位及ANSI转义序列完整用法文档查询
优惠活动
大模型
产品
解决方案
定价
更多

C语言控制台光标定位及ANSI转义序列完整用法文档查询

常用ANSI转义序列(ESC开头)功能说明

你需要的是兼容VT100标准的ANSI控制转义序列,当前主流终端(Windows 10+ cmd/PowerShell、Linux/macOS 默认终端)均支持这类序列。以下说明中ESC代表ASCII码值0x1B(十进制27),<参数>代表可自定义传入的数字变量,省略参数时大部分场景默认取值为1。

光标控制类

  • ESC[<行号>;<列号>f / ESC[<行号>;<列号>H:两个序列功能完全等价,移动光标到指定行、列位置,省略参数时默认移动到屏幕左上角(1,1)位置
  • ESC[<n>A:光标向上移动n行,到达屏幕顶部后无效果
  • ESC[<n>B:光标向下移动n行
  • ESC[<n>C:光标向右移动n列
  • ESC[<n>D:光标向左移动n列
  • ESC[<n>E:光标向下移动n行,且自动定位到新行的行首
  • ESC[<n>F:光标向上移动n行,且自动定位到新行的行首
  • ESC[<n>G:光标移动到当前行的第n列
  • ESC[s:保存当前光标所在的位置
  • ESC[u:恢复到之前用ESC[s保存的光标位置
  • ESC[?25l:隐藏光标显示
  • ESC[?25h:恢复光标显示

清屏/内容清除类

  • ESC[<n>J:清除屏幕内容,根据n的取值不同覆盖范围不同:
    • n=0:清除光标位置到屏幕末尾的所有内容
    • n=1:清除屏幕开头到光标位置的所有内容
    • n=2:清除整个屏幕的所有内容,光标位置不变
    • n=3:清除整个屏幕+滚动缓冲区的所有内容
  • ESC[<n>K:清除当前行的内容,根据n的取值不同覆盖范围不同:
    • n=0:清除光标位置到行尾的内容
    • n=1:清除行首到光标位置的内容
    • n=2:清除整行内容,光标位置不变

文本样式控制类

  • ESC[<属性值>m:设置后续输出文本的样式属性,多个属性可以用分号分隔同时生效,比如ESC[31;42;1m代表设置红色前景、绿色背景、加粗效果
    常用属性值:
    • 0:重置所有文本属性为终端默认值
    • 1:加粗/高亮
    • 3:斜体
    • 4:下划线
    • 5:慢闪烁
    • 7:反显(前景色和背景色互换)
    • 9:删除线
      基础颜色取值(前景色范围30-37,背景色范围40-47):
    • 30/40:黑色
    • 31/41:红色
    • 32/42:绿色
    • 33/43:黄色
    • 34/44:蓝色
    • 35/45:洋红色
    • 36/46:青色
    • 37/47:白色
      24位真彩色设置方式:ESC[38;2;<r>;<g>;<b>m设置前景色,ESC[48;2;<r>;<g>;<b>m设置背景色,r/g/b取值范围为0-255

序列查询渠道

类Unix系统可以直接执行man console_codes命令查看系统自带的完整转义序列说明,也可以查阅对应终端(如xterm、VT100)的官方文档获取全量序列列表。

内容的提问来源于stack exchange,提问作者Bert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 08:24:00