Skip to content

Editor basics

The editor inside a project workspace is built on CodeMirror 6 — the same engine that powers a lot of desktop and web editors. This page covers the everyday surface: opening files, navigating, and the most common edit gestures.

For configurable keyboards above the soft keyboard, see Custom keyboards. For snippets, see Snippets.

The workspace layout

A project workspace has three regions:

  • Activity bar (left edge) — switches between modes: Editor, Git, Git History, plus any others enabled in your build. Persistent.
  • Sidebar — content varies by mode. In Editor mode it's the file tree.
  • Main area — the editor surface. Tabs across the top, the open file beneath, status strip at the bottom.

You can resize the sidebar by dragging its right edge. On phone- sized screens the sidebar overlays the editor instead of pushing it; tap outside the sidebar to dismiss.

Opening, switching, and closing files

  • Open a file — tap it in the sidebar's file tree. The file opens in a new tab if it isn't already open; otherwise switches to the existing tab.
  • Switch tabs — tap a tab, or use Cmd+1, Cmd+2, … on a hardware keyboard. Cmd+Shift+] / Cmd+Shift+[ cycle next / previous.
  • Close a tab — long-press a tab to reveal the close icon, or Cmd+W on a hardware keyboard.
  • Recent files — Cmd+E shows a most-recently-used list across all tabs you've had open this session.

The file tree has expand/collapse chevrons next to folders. Long- press a file for the file-action menu (rename, delete, move).

Quick open and navigation

  • Cmd+P — quick open. Type to fuzzy-find a file by path; tap or Return to open.
  • Cmd+Shift+P — command palette. Type to find any action by name (any keybinding catalog entry — settings, snippets, workspace modes, etc.).
  • Cmd+Shift+O — file structure (functions, classes, headings) for the current file.
  • Cmd+, — open settings.
  • Cmd+0 — go home (back to project list).

Find and replace

  • Cmd+F — find in current file. The overlay shows match count and next / previous arrows.
  • Cmd+G / Cmd+Shift+G — find next / previous (works even without the overlay visible).
  • Cmd+H (with Find open) — toggle replace. The bar grows a second row for the replacement; tap Replace or Replace All.
  • Cmd+Shift+F — content search across the whole project.

The find bar accepts plain strings; toggle the icons in the bar for case-sensitive, whole-word, and regex matching.

Multi-cursor and selection

CodeMirror's multi-cursor model. The shortcuts:

  • Cmd+D — select the next occurrence of the current word. Repeat to add more occurrences. Each one becomes a cursor; type to edit them in lock-step.
  • Cmd+K Cmd+D (chord) — skip the last selected occurrence (keep the cursor where it was but advance the selection).
  • Cmd+U — undo the last Cmd+D / multi-cursor add.
  • Cmd+Shift+L — select all occurrences of the current word at once.

For block / column edits:

  • Long-press in the editor and drag — starts a free selection.
  • On a hardware keyboard, Cmd+Option+ArrowUp / Cmd+Option+ArrowDown add a cursor above / below the current line.

Line edits

  • Tab / Shift+Tab — indent / outdent the current line (or all selected lines).
  • Cmd+/ — toggle line comment using the current file's language comment style.
  • Cmd+Shift+K — delete the current line.
  • Option+ArrowUp / ArrowDown — move the current line up / down.
  • Cmd+Backspace — delete from cursor to start of line.
  • Cmd+Delete — delete from cursor to end of line.

Bracket and structural navigation

  • Cmd+Shift+\ — jump to matching bracket.
  • Cmd+Shift+M — select to matching bracket.
  • Cmd+Shift+A — expand selection to enclosing syntax node (paragraph, expression, statement, etc., depending on language).
  • Cmd+L — select current line.

Folding

  • Cmd+Shift+Z (or whatever key is bound in your catalog) — toggle fold at cursor. Folds collapse functions, blocks, and other syntactic chunks.

(See Settings → Keyboard Shortcuts for your build's exact bindings — the catalog is customizable and your overrides win.)

Markdown preview

For .md files, Cmd+Shift+V toggles between source and a rendered preview. The preview is built into the app; it doesn't need network.

Heading lookup, link tapping, and per-file scroll position survive toggling back and forth and switching tabs. See your build's shipped capabilities — KaTeX math and Mermaid diagrams are not yet rendered (the native renderer can't host them; a WebView-based upgrade is in the roadmap).

Hardware keyboard

The editor is fully usable from an external keyboard — including all the shortcuts listed above. Bluetooth keyboards (Magic Keyboard, Smart Keyboard Folio, any third-party BT board) work without setup as long as iOS sees them.

A few iPad-specific notes:

  • The on-screen keyboard stays suppressed while a hardware keyboard is attached. The accessory row above it (see Custom keyboards) also disappears.
  • The InputAccessoryView with the editor's command shortcuts is rendered as a floating bar.

For the full hardware shortcut catalog, see Settings → Keyboard Shortcuts. Each entry shows its current combo and lets you customize.

Saving

Auto-save runs a short moment after you stop typing. Cmd+S also saves on demand. There's no "modified" indicator to chase — if you've stopped typing, the file is saved.

To go from saved-to-disk to committed-to-git, see Committing changes.

See also

Last updated: