Keyboard shortcuts
These are the keyboard shortcuts Linea Codex defines, grouped by where they apply. (Inside the editor, the usual text-editing keys — select-all, move-line, word-delete and the like — follow standard CodeMirror/OS conventions and aren’t repeated here.) Many of the most-used commands also live in the menu bar and remember their shortcut beside the label, so you rarely have to memorise anything — but the tables below are the authoritative reference for the app’s own shortcuts.
The ⌘ / Ctrl convention
Section titled “The ⌘ / Ctrl convention”Linea Codex follows the platform convention for the primary modifier:
| Modifier | macOS | Windows / Linux |
|---|---|---|
| Primary (“mod”) | ⌘ Command | Ctrl |
| Secondary | ⌃ Control | Ctrl |
| Option / Alt | ⌥ Option | Alt |
| Shift | ⇧ Shift | Shift |
Throughout this page each shortcut shows the macOS form first and the Windows / Linux form second. A handful of shortcuts use both ⌘ and ⌃ on macOS — those are called out where they appear.
Global commands
Section titled “Global commands”These work from anywhere in the workspace. They map to the File and Edit menus.
| Action | macOS | Windows / Linux | What it does |
|---|---|---|---|
| Apply | ⌘S | Ctrl+S | Commits the current edit into the in-memory document. |
| Save | ⇧⌘S | Ctrl+Shift+S | Writes the project to disk (OPFS storage). |
| Undo | ⌘Z | Ctrl+Z | Reverts the last committed change. |
| Redo | ⇧⌘Z | Ctrl+Y | Re-applies the last undone change. |
| Add record | ⌃⌘N | Ctrl+N | Starts a new top-level record. |
Two details worth knowing:
- Redo differs by platform. On macOS it’s ⇧⌘Z (Shift+Command+Z); on Windows / Linux it’s Ctrl+Y. This matches each platform’s house style.
- Add record needs ⌃⌘N on macOS (Control and Command), but only Ctrl+N elsewhere — the extra Control on macOS avoids clashing with the browser’s own ⌘N. The same command also lives behind the Add Record submenu, where you pick the record type (Person, Family, Source, Note, Multimedia, Repository, Submitter); the submenu shows the shortcut as a hint.
Many menu commands have no keyboard shortcut and are reached from the menu only. Among them: New Project, every Export variant (Export, Export As…, Export as GEDZIP, Export as ZIP), Convert version, Advanced search…, Renumber Cross-References, Sort Records, Transform Nodes…, Specification, and Build pedigree. Delete also has no global shortcut — record deletion is bound locally in the tree (see below) so it can’t fire while you’re typing.
See also: Saving and exporting · Converting GEDCOM versions · Bulk transforms · Search.
Record tree navigation
Section titled “Record tree navigation”These fire when the record tree has focus. They move the focused row without touching the global history.
| Action | Key | What it does |
|---|---|---|
| Move down / up | ↓ / ↑ | Moves focus to the next / previous visible row. |
| Expand / into child | → | Expands a collapsed row; on an already-expanded row, steps into its first child. |
| Collapse / to parent | ← | Collapses an expanded row; otherwise steps up to the parent. |
| First / last row | Home / End | Jumps to the first / last row in the tree. |
| Open or expand | Enter | Expands an expandable row, or selects a record to open it in the editor. |
| Delete record | Delete / Backspace | Deletes the focused record (only when it can be deleted — HEAD, TRLR, and group headers can’t). |
Separately, session history moves between the records you’ve visited and is global:
| Action | macOS | Windows / Linux | What it does |
|---|---|---|---|
| Back | ⌘← | Alt+← | Returns to the previously viewed record. |
| Forward | ⌘→ | Alt+→ | Steps forward again through history. |
See also: The record tree · Relatives & relationships.
The editor (CodeMirror)
Section titled “The editor (CodeMirror)”These fire when the editor has focus. The first three work in both editor modes; the indentation keys apply only in structured mode, where each GEDCOM level is four spaces of indent.
| Action | macOS | Windows / Linux | What it does |
|---|---|---|---|
| Apply | ⌘S | Ctrl+S | Commits the current record’s edits (same as the global Apply). |
| Look up tag in spec | F1 | F1 | Opens the spec viewer on the tag at the cursor. |
| Autocomplete | ⌃Space | Ctrl+Space | Opens autocomplete for valid tags / values at the cursor. |
| New line (keep indent) | Enter | Enter | Structured mode: starts a new line at the same GEDCOM level. |
| Indent / accept | Tab | Tab | Structured mode: accepts an open completion, otherwise indents one level (re-parents the node). |
| Outdent | ⇧Tab | Shift+Tab | Structured mode: outdents one level. |
| Delete a level | Backspace | Backspace | Structured mode: in leading indentation, removes a whole level instead of one space. |
On a DATE line, ⌃Space / Ctrl+Space opens the date editor popup instead of
the tag autocomplete (see the next section).
Follow a reference with the modifier held:
| Action | macOS | Windows / Linux | What it does |
|---|---|---|---|
| Jump to record | ⌘-click a pointer | Ctrl-click a pointer | Navigates to the record a @xref@ points to. |
| Open tag in spec | ⌘-click a tag | Ctrl-click a tag | Opens the spec viewer on that tag. |
These are mouse-plus-modifier gestures, not pure keyboard shortcuts; hold the platform modifier and the pointer / tag becomes a link. See Following references.
See also: The editor · Editor modes · Autocomplete · Quick-fixes.
The date editor
Section titled “The date editor”The date editor is a small popup form anchored to a DATE
line.
| Action | Key | What it does |
|---|---|---|
| Open the date editor | ⌃Space / Ctrl+Space | On a DATE line, opens the structured (or raw) date form. |
| Move within the form | Tab / ⇧Tab | Cycles through the form’s fields and buttons (focus is trapped in the popup). |
| Close | Esc | Closes the popup, reverting to the line’s original text. |
See also: The date editor · Dates & places.
The spec viewer
Section titled “The spec viewer”These fire while the spec viewer panel has focus.
| Action | Key | What it does |
|---|---|---|
| Toggle in-page search | ⌘F / Ctrl+F | Shows / hides the find box for the open spec page. |
| Next / previous match | Enter / ⇧Enter | With the find box focused, moves to the next / previous match. |
| Back / forward | ⌥← / ⌥→ (Alt+← / Alt+→) | Walks the spec viewer’s own page history. |
| Close search / table of contents | Esc | Closes the find box, or the table of contents on narrow layouts. |
See also: The spec viewer.
The pedigree view
Section titled “The pedigree view”These fire when the pedigree canvas has focus.
| Action | Key | What it does |
|---|---|---|
| Move selection | ↑ ↓ ← → | Moves the selected card across the drawn frontier (expanding the tree if you step past it). |
| Build pedigree here | Enter | Re-anchors the chart on the selected card. |
| Center on anchor | F | Flies the camera back to the anchor card. |
| Fit to screen | 0 | Frames the whole chart in the viewport. |
| Zoom in / out | + / - | Zooms the camera (the unshifted = also zooms in). |
| Card menu | ⇧F10 / Menu | Opens the context menu for the selected card. |
See also: The pedigree view.
Panel lists
Section titled “Panel lists”The validation panel supports list navigation when focused — the same pattern any focused list uses:
| Action | Key | What it does |
|---|---|---|
| Next / previous issue | ↓ / ↑ | Walks the list of validation issues. |
| First / last issue | Home / End | Jumps to the first / last issue. |
Click any issue (or focus it and select) to jump to it in the editor and inspector.
See also: Reading and fixing validation.
If a shortcut here ever seems off, the menu bar is the source of truth at your fingertips: every command that has one shows its shortcut next to the label, rendered for your platform.