Documentation

Everything about installing, driving, configuring and extending ctrlvim.

ctrlvim is a text editor built from scratch in Rust, modeled after Neovim's editing model. Its terminal UI, cvi, is built with Ratatui and adds a startup dashboard, a file explorer, a plugin manager, and a settings screen on top of a modal editing core.

This is the reference documentation for the project — how to install it, drive it, configure it, and extend it.

# Where to start

If you are installing ctrlvim for the first time, read Installation and then Getting Started.

If you already use Neovim and want to know what carries over: the vim.lsp runtime ctrlvim ships is vendored unmodified from Neovim itself, so an lsp.lua written for real Neovim, using vim.lsp.config(...) and vim.lsp.enable(...), works here without changes. See Language Servers for details.

If you want to build ctrlvim from source or understand how the codebase is organized, read Building from Source.

# Project status

ctrlvim is under active development. Keybindings, config sections, and defaults can change between commits. The Keybindings page and the in-editor ? help are always generated from the live mapping table, so they cannot drift out of date with what the keys actually do — this documentation is written by hand and may lag behind a very recent change.

On this page