Getting Started
Open a project, answer the first-launch questions once, and find everything else from the command palette.
This page assumes mnml is installed and mnml --version
prints a version. To try mnml without it touching your own config first,
see Try It First.
Opening a project
Run mnml in a project folder, or name one:
cd ~/src/my-project && mnml
mnml ~/src/my-project
mnml ~/src/my-project src/main.zig # and open a file in itThe folder is the workspace: the file tree shows it, searches cover
it, and mnml keeps its per-project state in a .mnml/ folder inside it.
When you quit (ctrl+q, or :q in the vim profile) mnml saves the
session — the layout, the open files, the cursor positions — and puts it
back the next time you open that workspace. --no-session starts clean.
The first launch
The first time mnml runs, it opens a short setup with eight sections:
| Section | What it asks |
|---|---|
| Nerd Font | Do the icons show, or boxes? If boxes, space installs Symbols Nerd Font Mono for you. |
| Keyboard | Checks that your terminal sends Option/Alt chords, and offers the fix it knows for your terminal. |
| Input style | vim or standard. |
| Claude Code + Codex | Whether they are installed; space runs their vendors' installers for whichever is missing. |
| AI billing preference | Whether Claude and Codex requests use your subscription or an API key. |
| AI ghost-text | Whether to show inline suggestions as you type. |
VSCode code shim |
On macOS, links VS Code's code command if you have VS Code but not the command. |
| Integrations | Jira and Bitbucket as checkboxes (none ticked), and a row for adding a private source. |
Press Enter to save. Only the answers you changed are written, to
your home config.zon, and ticked integrations are installed on the way
out. Press Esc to skip; nothing is written, and the setup comes back
next launch. first_launch.show opens it again whenever you like.
After that, mnml needs no configuration. Everything else has a default.
Vim or standard
mnml has two complete keymaps. standard (the default) is modeless,
with VS Code's chords. vim has modes, motions, operators, the :
line, and NvChad's leader menus under space. Change your mind any time
in the settings overlay, for one launch with --input vim, or in
config.zon:
.{ .editor = .{ .input_style = .vim } }The Editor page compares the everyday chords, and the keymap profiles page lists all of them.
Finding things
Every action in mnml is a named command, and there are over a thousand. You do not need to learn many keys, because these four find the rest:
| Keys (both profiles) | Opens |
|---|---|
ctrl+shift+p |
The command palette: any command by name, with its chord beside it — so it is also how you learn the keys. |
ctrl+p |
A file by name. |
ctrl+; |
A : command line, in either profile. Besides vim's own commands it runs any command by its id, as in :tab.close. |
space (vim) / ctrl+k (standard) |
which-key: a menu of every leader chord, grouped. |
Right-click almost anything — a file, a tab, a chip on the statusline — for a menu of what you can do with it. Each row prints its chord for your profile, so the menus teach the keys too; see Menus, Tabs and Fields.
A tour in five commands
ctrl+shift+`opens a terminal beside your code. Or type:term.space g s(ctrl+k g sin standard) opens git status.space a c(ctrl+k a c) starts a Claude Code session in a split, if you have Claude Code installed. See AI Coding Sessions.ctrl+shift+xopens the INTEGRATIONS section and its Marketplace.ctrl+,opens the settings overlay: the everyday options, one row each, changed with the arrow keys and applied as you go.Enterkeeps the changes;Escputs everything back.
Where to next
- Configuration — how
config.zonworks, and where it lives. - Features — what is in the box.
- Lua Scripting — your own commands, keys and hooks.
- Help — when something looks wrong.