在 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