DECAWM ?7 — 自动换行模式
切换光标到达右边距时是否自动换到下一行(默认开启)。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b[?7h (enable wrap) \x1b[?7l (disable)\\033[
\033[?7h / \033[?7l\\e[
\e[?7h / \e[?7lESC [
ESC [ ? 7 h / lhex
1b 5b 3f 37 68 / 6c说明
DEC 自动换行模式。启用(`?7h`,默认)时,超出最右列的字符会自动换到下一行的第 1 列。关闭(`?7l`)后,光标停在末列,新字符会覆盖前一个 —— 这对状态栏和 TUI 在屏幕边缘精确绘制(避免意外滚屏)非常有用。绘制固定宽度状态栏前先关闭换行;交还终端给用户之前必须恢复(`?7h`),否则较长的 shell 提示符会被截断。
规范出处: xterm-ctlseqs (DEC Private Mode 7, DECAWM)
示例
printf '\033[?7l' # disable wrap for status bar\nprintf '\033[?7h' # restoreimport sys; sys.stdout.write('\x1b[?7l')fmt.Print("\x1b[?7l")process.stdout.write('\x1b[?7l')printf("\x1b[?7l");终端支持
- 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |