- File handling
- Properly handle keys with modifiers
- Allow variable tab length
- Allow multiple buffers
- Allow splitting the screen (use ncurses window functionality)
- Allow a buffer to have no lines?
- Completely separate rendering from backend
- Vim mode
- Undo using a stack of recent operations
...
- make moving render up/down a separate function
...