511
个编辑
更改
ANSI转义序列
,→CSI序列
所有常见的序列都只是把参数用作一系列分号分隔的数字,如<code>1;2;3</code>。缺少的数字视为0(如<code>1;;3</code>相当于中间的数字是0,<code>ESC[m</code>这样没有参数的情况相当于参数为0)。某些序列(如CUU)把0视为1,以使缺少参数的情况下有意义{{Rp|F.4.2}}。
一部分字符定义是“私有”的,以便终端制造商可以插入他们自己的序列而不与标准相冲突。包括参数字节<code><=>?</code>的使用,或者最终字节0x70–0x7F(<code><nowiki>p–z{|}~</nowiki></code>)例如{{tsl|en|VT320}}序列)例如VT320序列<code>CSI?25h</code>和<code>CSI?25l</code>的作用是打开和关闭光标的显示。
当CSI序列含有超出0x20–0x7E范围的字符时,其行为是未定义的。这些非法字符包括C0控制字符(范围0–0x1F)、DEL(0x7F),以及高位字节。
| CSI <code>n</code> D || CUB – 光标后移(Cursor Back)
|- id=CNL
| CSI <code>n</code> E || CNL – 光标移到下一行(Cursor Next Line) || 光标移动到下面第<math>n</math>(默认1)行的开头。(非{{Tsl|en|ANSI(默认1)行的开头。(非ANSI.SYS}})SYS)
|- id=CPL
| CSI <code>n</code> F || CPL – 光标移到上一行(Cursor Previous Line) || 光标移动到上面第<math>n</math>(默认1)行的开头。(非ANSI.SYS)