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.<p>Newer editors seem to prefer Rope though.
Sadly I think plain old Visual Studio isn't getting much love these days.<p>At least Rider exist, so if they fall too far behind that will just keep growing in market share.
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.