The data structures used in the JOE editor (supports files larger than RAM!) https://news.ycombinator.com/item?id=11245877 (linked list of gap buffers)