echo "INFO" >>

CDIN

cdin

lightweight text editor

A blazing-fast, keyboard-driven text editor with built-in Vim-style modal editing, powered by a minimal C core and fully customizable through readable Lua.

I
Startup time and memory use matter

The renderer only redraws what actually changed. Background tasks are coroutines, not threads. An idle cdin draws almost nothing and uses almost no CPU.

II
Features belong in plugins

The core does the minimum that every editor needs. Anything optional is in data/plugins/ where it can be read, copied, modified, or replaced without touching the core. This is how lite-xl approaches things too, and it works.

III
The codebase is meant to be readable

You should be able to find the edit loop, understand what it does, and change it. Functions are short. Modules are small. There are no clever abstractions that require you to know the whole project before touching any of it.

Contributors

From bug fixes to new features—your input matters for cdin's next release. Whether reporting issues, submitting patches, or enhancing guides, you're essential to cdin's journey toward becoming the ultimate editor.

contributors
13
commits
678

cdin is a small, fast, keyboard-driven text editor with Vim-style modal editing enabled by default. Its core is written in C (handling the window, renderer, and SDL bindings), while the actual editor logic, commands, keybindings, UI, and plugins live in readable Lua loaded from data/ at startup. You can change almost everything without recompiling.

Pre-release — this is not a stable cdin.Report any bug or feature to add