我正在使用 xterm 学习 ansi 转义码。并根据这有以下转义码:
CSI Ps SP A - 右移 Ps 列(默认 = 1)(SR),ECMA-48。
谁能解释一下是什么SP
?是吗SPACE
?我在使用以下命令尝试使用空格时问:
printf "\033[20 A"
但在ubuntu终端中并没有显示任何变化。
答案1
该名称在同一来源中进行了解释,即这里
它可以在 xterm 的任何模式下工作:
- 添加到2011年:
- 添加对左/右滚动有用的 ISO 和 DEC 控件。
- 不是一个特征VT100/VT220等:
/* * 这是来自 ISO 6429,在任何 DEC 终端中都找不到。 */
- 可能没有实现(比如70-80%xterm) 在给定的 xterm-imitator 中。 “ubuntu 终端”位于该范围的低端。
答案2
是的,它是空间。如果你看ECMA-48标准,第 68 页,第 8.3.35 点,您有:
SR:CSI Pn 02/00 04/01
它使用旧的 ASCII(和其他编码)表示法,但如果您使用 ASCII 编码,则 02/00 相当于 0x20,因此相当于 SP,而 04/01 则相当于 0x41(如果您使用 ASCII 编码,则为 A)。
我认为该功能仅适用于某些模式,但我不确定,并且标准和 xterm 站点(您链接的)中没有任何内容给我们提示。