2012-01-31 5 views
6

Qualcuno può spiegarmi quanto meno, i programmi vi e curses gestiscono l'output grafico? Possono cambiare i singoli caratteri sullo schermo o devono letteralmente cancellare e ridisegnare lo schermo ogni volta che qualcosa cambia?Come funzionano le grafiche della console? (less, curses, vi ...)

Sarebbe davvero bello se qualcuno potesse hackerare un clone molto meno insieme, senza tutto il codice di caldaia.

+0

Vedere anche: http://stackoverflow.com/a/7571408/25639 – Craig

risposta

4

Esistono Escape Codes speciali che, quando vengono inviati al terminale, indicano al terminale di riposizionare il cursore senza interrompere ciò che è già visualizzato.

+0

Oh, quindi è tutto? :) – futlib

+0

@futlib: Non proprio ... Alcuni terminali sono più capaci di altri. Se sai di avere un terminale abbastanza capace, la domanda è discutibile, ma se hai qualcosa basato su una vecchia stampante, sarai bloccato a ridisegnare l'intero schermo. Guarda la documentazione di termcap per iniziare. – JimR

+0

@Drew Dormann come gestisce l'input? Sembra prendere completamente il controllo dell'emulatore del terminale. Come funziona quella roba? –