The piece table is an amazing editor data structure. Reasonably simple to grasp conceptually, memory efficient for large files, good cache-locality, allow easy undo/redo, original file can be read-only, etc.
Is there an overview of which editor uses which data structures? I am particularly interested in GNU Emacs, vi(m), Sublime and other popular text editors among Hackers.
Newer editors seem to prefer Rope though.