keyboard-shortcuts
Installation
SKILL.md
Keyboard Shortcuts
Complete shortcut listings and context reference for all sidecar plugins. For implementation patterns, see docs/guides/deprecated/ui-feature-guide.md. For a detailed assessment of inconsistencies, vim alignment, mnemonic quality, and improvement proposals, see references/assessment.md in this skill directory.
Architecture
- Centralized binding registry:
internal/keymap/bindings.gois the single source of truth for key bindings. - Context-based dispatch: Each plugin defines contexts; bindings are scoped to contexts.
- Command palette (
?): Auto-discovers bindings for discoverability. - User overrides: Supported via
~/.config/sidecar/config.json. - Key sequences: Compound commands like
g gare supported with 500ms timeout.
Adding a New Shortcut
- Add the binding in
internal/keymap/bindings.gounder the appropriate context. - Add command handling in the plugin's
Update()method (usually in ahandlers.gofile). - Add the command to the plugin's
Commands()method for footer hint and command palette. - Keep command names short (1 word preferred) to prevent footer wrapping.