写入终端时,获取您正在写入的当前列号

写入终端时,获取您正在写入的当前列号

在 Node.js 中,我可以使用以下方法获取终端窗口的列数:

const cols = process.stdout.columns;

如果用户在此过程中缩小终端,列数也会缩小,因此您可以process.stdout.columns在窗口大小调整时重新阅读。

当我写入 stdout 时,我使用process.stdout.write(),是否有某种方法使用 linux 来确定我正在写入哪个列号?

对于我写的每个字符,我都会跳到一个新列,直到换行或到达终端窗口的末尾?

答案1

“使用linux的某种方式”是什么意思?如果您的终端对“VT102 和 ECMA-48/ISO 6429/ANSI X3.64 终端控制”作出反应,您可能会幸运地打印“光标位置报告 (CPR)”请求:ESC[6n并读取光标坐标答案ESC[y;xR“其中 x, y 是光标位置”。

编辑:比照man console_codes

相关内容