跳到主要内容
ansicode

CNL / CPL — 光标下/上行

将光标移动到下方(CNL)或上方(CPL)第 N 行的第 1 列。

字节形式

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

\\x1b[\x1b[NE (down N lines, col 1) \x1b[NF (up)
\\033[\033[E / \033[F
\\e[\e[E / \e[F
ESC [ESC [ N E / F
hex1b 5b <N> 45 / 46

说明

末字节 `E` = CNL(Cursor Next Line),`F` = CPL(Cursor Previous Line)。两者均按 N 行(省略时默认为 1)移动光标,并将列重置为 1 —— 与 CUU/CUD 保留列位不同。在不关心滚动区域语义时,`E` 类似于 CRLF;但 CNL 遵守滚动区域,永远不会自动滚动越过区域底部。

规范出处: ECMA-48 §8.3.13 (CNL) / §8.3.27 (CPL)

示例

bash
printf 'top\n\033[2Ebottom-of-3rd-line-below\n'
python
import sys; sys.stdout.write('\x1b[3E')
go
fmt.Print("\x1b[3E")
javascript
process.stdout.write('\x1b[3E')
c
printf("\x1b[3E");

终端支持

xterm
支持
Linux console (fbcon)
支持
macOS Terminal.app
支持
iTerm2
支持
Windows Terminal
支持
cmd.exe / ConPTY
支持
kitty
支持
alacritty
支持
WezTerm
支持
Ghostty
支持
GNOME Terminal
支持
Konsole
支持
tmux
不支持
GNU screen
不支持

相关序列

在家族食谱中

CSI 食谱 · 2. 光标移动 —— CUU / CUD / CUF / CUB + CUP + CHA / VPA