Launching cvi, the dashboard, modal editing basics, the shell keymap.
Launch cvi and it opens a dashboard for the current directory. Give it a path or filenames instead to jump straight into editing.
shcvi # dashboard for the current directory
cvi src/ # dashboard for a directory
cvi a.rs b.rs # open files, cursor in the first
cvi --help
cvi --version
cvi writes a starter configuration file to ~/.config/ctrlvim/config.toml the first time it runs, and never overwrites an existing one. See Configuration for what goes in it.
Normal, Insert, Visual, and Command line modes work the way Vim's do. Motions (w, b, e, <A-[>, <A-]>), operators (d, y, c), and text objects (iw, a", i() compose the way Vim's do, so 2d3w deletes six words. Insert mode is left with <Esc>.
Press ? inside ctrlvim at any time for the full, current keymap. See Keybindings for the complete reference and how the mapping layer works.
Outside a file buffer — on the dashboard, the plugin manager, or an overlay — a separate keymap applies: : opens the command palette, Ctrl+B opens the explorer, Tab / Shift+Tab cycle buffers, [ / ] cycle the dashboard section, w / s / a jump to a section directly, p opens the plugin manager, 2 / 3 switch layout, r / g / b expand panels, j / k move the current selection, Enter opens or toggles it, ? opens help, and Esc closes whatever overlay is open. Every list row, tab, pill, and toggle is also clickable, and the mouse wheel scrolls the editor view.
Inside a file buffer, keys go straight to the editing engine — Vim motions, operators, and Insert mode all work as described above. A handful of chords escape back to the shell from there: Ctrl+Left / Ctrl+Right cycle buffers, Ctrl+B opens the explorer, Ctrl+P or : opens the palette, and ? opens help, all from Normal mode. Esc returns to Normal mode, and Ctrl+C quits from anywhere.
config.toml — options, keymaps, autocommands, plugins.lsp.lua and attaching a language server to a project.