EL — 行内擦除 (`\x1b[K`)
擦除当前行的部分或全部。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b[NK\\033[
\033[K\\e[
\e[KESC [
ESC [ N Khex
1b 5b <N> 4b说明
末字节为 `K`。N = 0 从光标位置擦到行尾(默认);N = 1 从行首擦到光标(含);N = 2 擦除整行。EL 不会移动光标 —— 如需从行首覆盖,请与 `\r` 配合。
规范出处: ECMA-48 §8.3.41 (EL)
示例
printf 'progress... \r\033[Kdone\n'import sys, time\nfor i in range(3): sys.stdout.write(f'\r\x1b[K{i}'); sys.stdout.flush(); time.sleep(0.2)\nprint()fmt.Print("\r\x1b[Kclear line\n")process.stdout.write('\r\x1b[Kclear line\n')printf("\r\x1b[Kclear line\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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |