anomalyco / anomalyco/opencode
diff: add configurable half-page scrolling keybindings
@kommander is already working on this.
Since Aug 18, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Summary
The diff viewer has no configurable actions for scrolling up or down by half a page. This prevents Vim-style ctrl+u and ctrl+d navigation even though session navigation already provides equivalent half-page actions.
Environment
- opencode version:
v0.0.0-beta-17519 - OS:
Linux 7.1.8-arch1-3 x86_64(Arch Linux) - Terminal:
TERM=xterm-256color;TERM_PROGRAMandCOLORTERMunavailable - Shell:
/usr/bin/fish - Install/channel: beta
- Active plugins: local plugin
/home/pedro/.config/opencode/plugins/notifier.js
Reproduction
- Open the diff viewer.
- Try to configure Vim-style half-page scrolling using
ctrl+dandctrl+u. - Check the available diff-viewer command IDs in the keybinding configuration.
Expected Behavior
The diff viewer should expose configurable half-page actions, such as diff.half.page.down and diff.half.page.up, allowing bindings like ctrl+d and ctrl+u.
Actual Behavior
The diff viewer exposes line scrolling (diff.down and diff.up) and full-page scrolling (diff.page.down and diff.page.up), but no half-page scrolling actions. The session view has session.half.page.down and session.half.page.up, so the behavior is inconsistent between views.
Additional Context
The documented diff keybindings currently use ctrl+f and ctrl+b for full-page scrolling. This request is specifically for configurable half-page navigation in the diff viewer, not general keybinding configuration.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.