跳到主要内容
ansicode

DECAWM ?7 — 自动换行模式

切换光标到达右边距时是否自动换到下一行(默认开启)。

字节形式

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

\\x1b[\x1b[?7h (enable wrap) \x1b[?7l (disable)
\\033[\033[?7h / \033[?7l
\\e[\e[?7h / \e[?7l
ESC [ESC [ ? 7 h / l
hex1b 5b 3f 37 68 / 6c

说明

DEC 自动换行模式。启用(`?7h`,默认)时,超出最右列的字符会自动换到下一行的第 1 列。关闭(`?7l`)后,光标停在末列,新字符会覆盖前一个 —— 这对状态栏和 TUI 在屏幕边缘精确绘制(避免意外滚屏)非常有用。绘制固定宽度状态栏前先关闭换行;交还终端给用户之前必须恢复(`?7h`),否则较长的 shell 提示符会被截断。

规范出处: xterm-ctlseqs (DEC Private Mode 7, DECAWM)

示例

bash
printf '\033[?7l'   # disable wrap for status bar\nprintf '\033[?7h'   # restore
python
import sys; sys.stdout.write('\x1b[?7l')
go
fmt.Print("\x1b[?7l")
javascript
process.stdout.write('\x1b[?7l')
c
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
不支持

相关序列