是否有一个 ANSI 控制序列可以将光标移动到行尾?

bar*_*287 4 ansi-escape

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

Tho*_*key 5

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

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

tput cuf 999
tput hpa 999
Run Code Online (Sandbox Code Playgroud)

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

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