Несколько консольных приложений, таких как vim или lynx, предлагают богатый пользовательский интерфейс, который позволяет пользователю свободно перемещаться по консоли, манипулировать данными непосредственно на экране, получать доступ к меню и многое другое, подобно «современным» приложениям графического интерфейса.
Как это достигается в принципе на Unix / Linux с C ++? Вы напрямую манипулируете каким-либо символьным буфером или экран постоянно очищается и перепечатывается в стандартный вывод?
Есть ли набор библиотек для реализации такого поведения или даже какой-то «современный» управляемый событиями графический интерфейс GUI для консоли?