跳到主要内容
ansicode

CHA — 光标水平绝对位置(列)

将光标移动到当前行的第 N 列(从 1 开始)。

字节形式

涵盖所有常见的字符串字面量写法,方便正反查找。

\\x1b[\x1b[NG
\\033[\033[1G
\\e[\e[1G
ESC [ESC [ N G
hex1b 5b <N> 47

说明

末字节 `G` = CHA(Cursor Horizontal Absolute)。仅设置列位置,不影响行;N 省略时默认为 1。常与 EL(`\x1b[K`)配合用于重绘当前行:`\x1b[1G\x1b[K` 跳到第 1 列并清到行尾 —— 对多数 CRLF 终端等价于 `\r\x1b[K`,但完全避免任何换行语义。HPA(`\x1b[N\``,末字节 `` ` ``)是 ECMA-48 同义形式;两者均被广泛支持。

规范出处: ECMA-48 §8.3.9 (CHA)

示例

bash
printf 'progress:\033[20G50%%\033[1G' 
python
print('\x1b[20G50%')
go
fmt.Print("\x1b[20G50%")
javascript
process.stdout.write('\x1b[20G50%')
c
printf("\x1b[20G50%%");

终端支持

xterm
支持
Linux console (fbcon)
支持
macOS Terminal.app
支持
iTerm2
支持
Windows Terminal
支持
cmd.exe / ConPTY
支持
kitty
支持
alacritty
支持
WezTerm
支持
Ghostty
支持
GNOME Terminal
支持
Konsole
支持
tmux
不支持
GNU screen
不支持

相关序列

在家族食谱中

CSI 食谱 · 2. 光标移动 —— CUU / CUD / CUF / CUB + CUP + CHA / VPA