// the find
asottile/babi
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.