A lightweight, fast, and hackable text editor with Vim-like keybindings
cdin started as a fork of lite, and that heritage is visible in some design choices and early code. However, cdin is not a mere copy: the codebase has diverged, the project goals and implementation details have been rethought, and cdin is following its own path. The project is also inspired by lite-xl; ideas and UX learnings from lite-xl influenced several implementation and design decisions. In short: yes, a fork of lite, but cdin is its own project with its own direction.
Simplicity and hackability come first. The core of cdin aims to be small, predictable, and understandable: you should be able to read the source, find the edit loop, and add or change behavior in a few minutes. Performance matters: startup time, low memory footprint, and smooth text rendering are priorities. Extensibility is designed to be simple and unobtrusive — plugins and configuration should feel like first-class citizens rather than afterthoughts. Keyboard-centric editing is the default; Vim-inspired modal keybindings let you stay in the editor and keep your hands on the keyboard. Minimal external dependencies reduce friction for building and packaging, and we favor single-file, auditable subsystems where practical. Above all, cdin is meant for people who prefer tools they can tweak, read, and carry with them — an editor that gives you freedom instead of obscuring behavior behind layers of abstraction.
- Building from Source not_created
- Configuration Guide not_created
- Plugin Development not_created
- Vim Keybindings not_created
- API Reference not_created
- Architecture not_created
We welcome contributions! Please see:
- Contributing Guidelines
- Code of Conduct
- Code Style Guide not_created
See Architecture Overview not_created
MIT License - see LICENSE
- Based on lite by rxi
- Inspired by Vim,
- Font rendering via stb_truetype