Skip to content

Build a Text Editor

Build a Vim/Kilo-style text editor: gap buffer / piece table / rope data structures, line indexing, cursor and selection, undo/redo via command pattern, terminal rendering with ANSI escapes, search and replace. The data structures behind VS Code, Sublime, Emacs.

advanced14 lessons4 chapters14 graded exercisesPython

No sign-up needed for lesson 1 · certificate on completion · sign up to save progress

What you’ll have built

Chapter by chapter. Every step is a graded exercise.

  • Buffer Data Structures
  • Editing Operations
  • Display & Input
  • Production
Starts in Python — solve in the language you choose in the editor, same tests either way.

Curriculum

4 chapters, 14 lessons. Each lesson is a short read, one graded exercise, and a quiz.

  1. 1What Text Editors SolveRead · exercise · quiz
  2. 2Gap BufferRead · exercise · quiz
  3. 3Piece TableRead · exercise · quiz
Loading reference solution…