【发布时间】:2019-07-10 10:52:32
【问题描述】:
我正在学习 termcap 库。我正在尝试在终端中做一个行编辑器。我有一个可以在线移动的光标。一条线一切都很好。但是如果我的行大于终端宽度,我不能使用le 命令将光标从第二行返回到第一行(将光标移到左侧)。我需要设置bw 标志来执行此操作。函数tgetflag() 只返回一个值。我认为我需要使用tcsetsttr() 设置此标志,但找不到正确的标志宏。如何设置bw 标志?
struct termios stored_settings;
struct termios new_settings;
tcgetattr(0, &stored_settings);
new_settings = stored_settings;
new_settings.c_lflag &= (~ICANON & ~ECHO);
new_settings.c_cc[VTIME] = 0;
new_settings.c_cc[VMIN] = 1;
tcsetattr(0, TCSANOW, &new_settings);
【问题讨论】:
-
您可以使用 xterm 来做到这一点(请参阅 Reverse-wraparound Mode),但没有一个模仿者提供该功能。