Shortcut mapper¶
Every command in OctoEdit — built-in editing, view toggles, and commands contributed by plugins — can be rebound, unbound, or reset from one place: Preferences ▸ Shortcuts.
The table¶
The page lists every command with its Category, current Shortcut and the Default. Customised rows are shown in bold; the filter box narrows the list as you type (it matches the command name, category, chord, and the internal command id).
Changes are collected while you edit and applied when you press OK or Apply — menus, the command palette, and plugin windows all pick the new chords up immediately, no restart needed. Cancel discards everything you staged.
Rebinding a command¶
- Select a row.
- Click into the New shortcut field and press the chord you want.
- Click Assign (or Unbind to remove the binding, or Reset to Default).
A chord must include Ctrl, Alt or Meta, or be a function key
(F1–F12, with any modifiers). Bare or Shift-only typing and navigation
keys — letters, Enter, Backspace, Delete, arrows, Home/End,
PageUp/PageDown, and Tab/Esc — are reserved: they type or move
the caret, so the mapper refuses them.
Fixed keys
Tab and Esc inside the editor (snippet expansion and fields, indent,
collapsing multiple carets, closing popups) are fixed behaviours, not
remappable commands, and never appear in the table.
Conflicts¶
Two commands can never hold the same chord in the same context — that would leave both dead, so the mapper prevents it up front:
- Assigning a chord that is already taken shows an inline message naming the holder. Pick another chord, or click Reassign to move it here — the previous holder becomes unbound (a change you can see and undo in its own row).
- When a newly installed plugin ships a default that collides with your existing setup, the incumbent keeps the key: the newcomer is suspended for the session, a notice pops up, and the row shows (suspended: conflicts with …). Suspension is never saved — the moment the winning chord moves away, the suspended default comes back to life.
- The same chord can legally appear in different contexts — e.g.
Ctrl+Zis Edit ▸ Undo globally and "undo copied change" inside a compare tab; the more specific binding wins while its view has focus.
Keymaps: export, import, presets¶
- Export… saves your customisations to a JSON file
(
{"version": 1, "overrides": { "<command id>": "<chord>" }}). - Import… replaces your whole layout with the file's (after a confirmation). Entries for commands that don't exist in your installation are ignored and counted, so keymaps survive version and plugin changes.
- Load Preset applies a bundled keymap — VS Code and Notepad++ ship in the box (most defaults already match those editors; the presets cover the chords that differ, such as the fold commands).
Housekeeping¶
- Reset All… returns every command to its default.
- Remove Stale Entries… deletes saved customisations that belong to commands no longer installed (e.g. an uninstalled plugin). They are kept otherwise, so reinstalling a plugin restores your bindings.
Tip
The command palette always displays the current chord next to each command, so it doubles as a quick reference after a remapping session.