Vim Mode
Circuitry's code editors support Vim keybindings — the modal editing style loved by developers who never want to leave the home row. It's off by default; turn it on once and every code editor in the app becomes a Vim editor.
Turning it on
- Settings → Code Editing → Vim Mode — the master switch.
- Cmd+Shift+V (Mac) / Ctrl+Shift+V (Windows / Linux) — toggle it from anywhere, even while typing in an editor. A small confirmation appears so you know which state you're in. The shortcut is reconfigurable in Settings → Keyboard Shortcuts. (Inside a terminal the same combination keeps its terminal meaning — pasting images — so toggle from an editor or Settings instead.)
When Vim mode is on, a slim status bar appears at the bottom of each editor showing the current mode (--INSERT--, --VISUAL--) and echoing commands as you type them. It follows the editor's light or dark theme.
Where it works
Everywhere you edit code or structured text:
- Code files — files opened from your projects, local folders, or remote storage
- Workflow nodes — Code, Agent (prompt editing), Data Viz, Code File, Params, Database (SQL), and Web nodes
- Side panels — the docked editors that open next to a workflow
- Notebooks — code cells and the console input
- Designer & web pages — the page-source editors
- 3D scenes — the scene code editor
Why developers love Vim
Vim's core idea: your hands stay on the keyboard, and editing becomes a language. d2w means "delete two words". ci" means "change what's inside the quotes". Once the vocabulary is muscle memory, editing at the speed of thought is a real thing — no reaching for the mouse, no arrow-key marathons. Developers who've invested in that muscle memory feel slower everywhere it's missing; Vim mode means Circuitry isn't one of those places.
The 10-minute tutorial
New to Vim? Here's enough to be productive.
Vim has modes. In normal mode (where you start) keys are commands, not text. In insert mode, typing works like any other editor.
- Click into a code editor. You're in normal mode — the status bar is empty.
- Press
ito insert text at the cursor. The status bar shows--INSERT--. Type normally. - Press
Escto go back to normal mode. - Move around in normal mode:
hjkl= left, down, up, right.wjumps a word forward,ba word back,0start of line,$end of line,ggtop of file,Gbottom. - Delete a line with
dd. Undo anything withu. Redo withCtrl+R. - Copy ("yank") a line with
yy, paste withp. - Search with
/somethingthen Enter;njumps to the next match. - Combine counts and motions:
3jmoves down three lines,d3wdeletes three words.
That's the whole trick — everything else is more vocabulary for the same grammar: (count) (operator) (motion).
Supported commands
The essentials, all supported:
| Category | Keys |
|---|---|
| Modes | i a I A o O insert · v visual · V visual line · Esc back to normal |
| Motions | h j k l · w b e words · 0 ^ $ line · gg G file · { } paragraphs · f/t + char · % matching bracket |
| Operators | d delete · c change · y yank · > < indent — all combine with motions (dw, ci(, y$) |
| Line ops | dd cc yy · J join · ~ toggle case |
| Counts & repeat | 3w, 2dd, 5j · . repeats the last change |
| Undo / redo | u · Ctrl+R |
| Search | / forward · ? backward · n / N next / previous · * word under cursor |
| Registers & marks | "a–"z named registers · m + letter to mark, ' + letter to jump |
| Command line | : opens the command line — e.g. :%s/old/new/g find-and-replace, :42 jump to line 42 |
Saving still works the Circuitry way — files auto-save or save with Cmd+S / Ctrl+S as usual.
Esc in workflow nodes
In a workflow node, Esc normally hands focus back to the canvas. With Vim mode on, Esc is mode-aware:
- In insert or visual mode,
Escreturns you to normal mode — you stay in the editor. - In normal mode,
Escexits the editor and returns focus to the node, exactly like before.
So a reflexive extra Esc never costs you more than a click back in — and Vim users' "mash Esc to be safe" habit does what they expect.
Works alongside Inline AI
Vim mode and Inline AI coexist: ghost-text suggestions appear while you type in insert mode (Tab still accepts), and the Cmd+K inline prompt opens from any mode.
Stay on the keyboard beyond the editor
The keyboard-first flow doesn't stop at the editor's edge — the whole workspace is navigable without the mouse:
- Between workflow nodes — with no editor focused, the arrow keys move the selection from node to node, following the connections in the direction you press. Enter expands the selected node and focuses its content for editing; Esc steps back out (mode-aware when Vim is on — see above). Another Esc collapses a node you expanded with Enter.
- Between editor tabs — Cmd+Option+Right / Left (Mac) or Ctrl+Alt+Right / Left (Windows / Linux) cycles through the tabs of the pane you're working in. Also in the View menu as Next Tab / Previous Tab.
- Between split-screen panes — Cmd+Shift+Option+Arrow (Mac) or Ctrl+Shift+Alt+Arrow (Windows / Linux) moves focus to the pane in that direction: left/right across a vertical split, up/down between the top panes and the bottom panel. These appear in the View menu whenever a split is open.
Put together: Esc out of a node, arrow to the next one, Enter to edit, i to type — hands never leave the keyboard.