finds.dev← search

// the find

antirez/kilo

★ 8,997 · C · BSD-2-Clause · updated Jan 2025

A text editor in less than 1000 LOC with syntax highlight and search.

Kilo is a minimal terminal text editor written in a single C file with no dependencies — not even curses. antirez wrote it in a few hours as a teaching artifact and proof-of-concept. Its real audience is people who want to understand how terminal editors work at the VT100 escape-sequence level.

Single-file C with zero external dependencies means you can read the whole thing in an afternoon and actually understand it. The VT100 escape sequence handling is done by hand, which is educational in a way that curses abstracts away. It has syntax highlighting and incremental search, which are non-trivial features for ~1000 lines. antirez's code is clean and readable — this is a good base for a 'build your own editor' project.

Alpha quality and intentionally unfinished — the TODO file lists missing features and the author has been clear it's not meant for production use. No undo. No multiple buffers or split panes. UTF-8 support is essentially absent, which will corrupt non-ASCII files silently. The project has been mostly dormant since 2016 with only occasional minor fixes; if you want a maintained minimalist editor for actual use, look at busybox vi or micro instead.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →