SU / SD — 向上 / 向下滚动
将屏幕内容向上(SU)或向下(SD)滚动 N 行,光标位置不变。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b[NS (scroll up) \x1b[NT (scroll down)\\033[
\033[1S / \033[1T\\e[
\e[1S / \e[1TESC [
ESC [ N S / Thex
1b 5b <N> 53 / 54说明
末字节 `S` = SU(Scroll Up)、`T` = SD(Scroll Down)。两者将滚动区域内容按 N 行(省略时默认 1)平移,并以空行填补暴露出的行;光标位置不变。SU `\x1b[1S` 会让顶行消失,底部出现一行空白 —— 与新文本自动滚屏的方向相反。受滚动区域语义影响:若已通过 DECSTBM(`\x1b[t;b r`)限定区域,则只滚动该区域内的行。
规范出处: ECMA-48 §8.3.147 (SU) / §8.3.113 (SD)
参数
| S | 向上滚动 N 行 |
| T | 向下滚动 N 行 |
示例
printf 'top\nmid\nbot\033[2S' # scroll region up 2import sys; sys.stdout.write('\x1b[1S')fmt.Print("\x1b[1S")process.stdout.write('\x1b[1S')printf("\x1b[1S");终端支持
- 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |