HVP — 水平与垂直定位(CSI f,CUP 的别名)
将光标移动到绝对 (row, col) —— 语义与 CUP 完全相同,仅末字节用 `f` 而非 `H`。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b[<row>;<col>f\\033[
\033[1;1f\\e[
\e[1;1fESC [
ESC [ row ; col fhex
1b 5b ... 66说明
Horizontal and Vertical Position。ECMA-48 §8.3.61 定义 HVP 的语义与 CUP(`\x1b[r;cH`,§8.3.21)完全相同 —— 移动光标到绝对的 1 起始行/列,默认 (1,1),超界值钳到可视区域。差别仅在末字节:CUP 是 `H`(0x48),HVP 是 `f`(0x66)。两种形式在野外都常见 —— 一些程序仍使用更老的 `f` 形式,尤其是 curses 默认能力表的部分项与某些 DEC VT 克隆的测试向量。解码时把 HVP 等同于 CUP;新代码请发送 CUP(`H`),除非需要匹配遗留流。注:ECMA-48 历史上把 HVP 视作主要原语而 CUP 是同义;xterm-ctlseqs 反过来把 CUP 作为主形式,反映现代用法。
规范出处: ECMA-48 §8.3.61 (HVP) / xterm-ctlseqs
示例
printf '\033[2;5fHello at (2,5)\n' # same as \033[2;5Hprint('\x1b[2;5fHello at (2,5)')fmt.Print("\x1b[2;5fHello at (2,5)\n")process.stdout.write('\x1b[2;5fHello at (2,5)\n')printf("\x1b[2;5fHello at (2,5)\n");终端支持
- xterm
- 支持
- Linux console (fbcon)
- 支持
- macOS Terminal.app
- 支持
- iTerm2
- 支持
- Windows Terminal
- 支持
- cmd.exe / ConPTY
- 支持
- kitty
- 支持
- alacritty
- 支持
- WezTerm
- 支持
- Ghostty
- 支持
- GNOME Terminal
- 支持
- Konsole
- 支持
- tmux
- 不支持
- GNU screen
- 不支持
| xterm | Linux console (fbcon) | macOS Terminal.app | iTerm2 | Windows Terminal | cmd.exe / ConPTY | kitty | alacritty | WezTerm | Ghostty | GNOME Terminal | Konsole | tmux | GNU screen |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |