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.

  1. Click into a code editor. You're in normal mode — the status bar is empty.
  2. Press i to insert text at the cursor. The status bar shows --INSERT--. Type normally.
  3. Press Esc to go back to normal mode.
  4. Move around in normal mode: h j k l = left, down, up, right. w jumps a word forward, b a word back, 0 start of line, $ end of line, gg top of file, G bottom.
  5. Delete a line with dd. Undo anything with u. Redo with Ctrl+R.
  6. Copy ("yank") a line with yy, paste with p.
  7. Search with /something then Enter; n jumps to the next match.
  8. Combine counts and motions: 3j moves down three lines, d3w deletes 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:

CategoryKeys
Modesi a I A o O insert · v visual · V visual line · Esc back to normal
Motionsh j k l · w b e words · 0 ^ $ line · gg G file · { } paragraphs · f/t + char · % matching bracket
Operatorsd delete · c change · y yank · > < indent — all combine with motions (dw, ci(, y$)
Line opsdd cc yy · J join · ~ toggle case
Counts & repeat3w, 2dd, 5j · . repeats the last change
Undo / redou · 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:

  1. In insert or visual mode, Esc returns you to normal mode — you stay in the editor.
  2. In normal mode, Esc exits 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 tabsCmd+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 panesCmd+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.