[Feature]: Configurable editor keybinding presets (Vim, Emacs, …) for the built-in Monaco editor
- Dominant language
- TypeScript
- Stars
- 72.1k
- Forks
- 4.7k
- Avg merge
- 14h 54m
- Merged PRs (30d)
- 520
Description
**Problem**
When orchestrating a fleet of agents, I still frequently need to make quick manual edits in Orca's built-in editor. Since the editor isn't modal (no Vim mode), it breaks muscle memory and slows down these quick edits.
**Why extensions don't solve this**
Orca embeds the **Monaco editor** (the editor component), not a full VS Code fork, so VS Code extensions like `VSCodeVim` can't be installed. The right approach for Monaco is integrating dedicated keybinding libraries directly.
**Proposal**
Add an **"Editor keybindings" preset** setting (next to the existing font / minimap options), defaulting to **Default (none)**:
- **Vim** — via [`monaco-vim`](https://github.com/brijeshb42/monaco-vim) (mature, includes a status bar for mode display)
- **Emacs** — via [`monaco-emacs`](https://github.com/aioutecism/monaco-emacs)
- Framed as an extensible preset list so other modes (e.g. nano) can be community-contributed later.
**Scope / compatibility**
- Off by default → zero impact on existing users.
- Per-editor-instance lifecycle handled (dispose on unmount, since worktrees spawn multiple editors).
- Ensure interop with autosave (e.g. `:w` shouldn't conflict).
**Offer**
Happy to work on the PR (starting with Vim) if the maintainers are open to this direction. Wanted to align on approach and settings placement first.
Contributor guide
Assessment
This issue has not been assessed yet.