antirez / antirez/kilo

Use smcup and rmcup to save/restore screen buffer

Aperta
#48 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C
Stelle
9.1k
Fork
997
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Vim and others appear to do this. It also has the added benefit of fixing `Page Up` and `Page Down` on MacOS using Terminal.app.

```c
void initEditor() {
write(STDOUT_FILENO, "\033[?47h", 6); // New (smcup)
EditorConfig.cursor.x = 0;
EditorConfig.cursor.y = 0;
if (getWindowSize(&EditorConfig.screenRows, &EditorConfig.screenCols) == -1) die("getWindowSize");
terminalClearScreen();
}

// ...

void disableRawMode() {
write(STDOUT_FILENO, "\033[?47l", 6); // New (rmcup)
tcsetattr(STDIN_FILENO, TCSAFLUSH, &EditorConfig.orig_termios);
}
```

More info [here](http://austinhanson.com/page-up-page-down-with-kilo-editor).

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.