首页 > 解决方案 > 是否有将光标移动到行尾的 ANSI 控制序列?

问题描述

我知道\33[nC哪个会向前移动光标n列;问题是,我不知道特定行包含多少个字符。

标签: ansi-escape

解决方案


没有什么明确的,但是屏幕是“小”的,您可以使用任何光标移动命令移动到任意远的目的地,终端将通过屏幕大小限制移动。

例如,光标向前(在 terminfo 中cuf)控件使用重复计数,而水平位置绝对(在 terminfo 中hpa)控件使用列值。这些中的任何一个都应该适合您:

tput cuf 999
tput hpa 999

(假设您的屏幕少于一千列)。还有其他可以在您的终端(模拟器......)中实现,但这些都相当普遍。

顺便说一句,对于硬编码,cuf与问题中的示例相同。那是columns,而不是移动的要按行移动光标,您可以使用cud( escape> [nB )。


推荐阅读