finds.dev← search

// the find

asottile/babi

★ 482 · Python · MIT · updated Jul 2026

a text editor

babi is a terminal text editor written in Python, built by Anthony Sottile as a personal nano replacement. It's squarely aimed at developers who live in the terminal and want something between nano's simplicity and vim's steeper learning curve, with first-class pre-commit integration baked in.

The built-in linter integration is genuinely useful — ^T runs pre-commit on the current file and lets you navigate errors without leaving the editor. Syntax highlighting uses TextMate grammars (the same ones VS Code uses), so coverage is broad and themes are portable directly from VS Code. The test suite is impressually thorough for a personal project: feature tests cover nearly every keybinding, and the testing infrastructure uses a real PTY runner rather than mocking curses. Active maintenance from a prolific Python tooling author means bugs actually get fixed.

With 482 stars this is firmly a personal tool that happens to be public — don't expect a plugin ecosystem or a community. The linter story is pre-commit-centric; if your project doesn't use pre-commit, you fall back to flake8-only, which means non-Python files get no linting at all. Mouse support is absent, which will matter to some and not at all to others. macOS keyboard setup requires a non-trivial amount of terminal reconfiguration that the README documents but can't fix for you.

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 →