j and k move the caret one line, delegated to sublime's own `move` command so they behave exactly like the arrow keys. They dispatch through the existing ACTIONS registry, so the keymap, the status-bar hints and the ? popup all stay in sync through the single KEY_GROUPS table. Unlike the other letter keys, j / k keep no command_mode context: the view is read-only, so leaving them live while Vintage is in command mode can only ever move the caret. That asymmetry was previously documented only in a comment, which was wrong (it claimed j / k were the only unguarded bindings, but escape has always carried its own context instead). It is now pinned by test_command_mode_guard_is_deliberate, so normalising the keymap fails the suite with the reason attached. Also tidies two long lines in commands.py. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# vDiff
|
||
|
||
Review what a coding agent changed without leaving Sublime Text: the whole file, deletions in red,
|
||
insertions in green, in the file's own syntax highlighting. Stage, unstage or discard the file, or jump
|
||
to the real file at the caret's line.
|
||
|
||
Install: symlink this directory into `Packages` as `vDiff` (Python 3.8 plugin host, no dependencies).
|
||
|
||
Command Palette:
|
||
|
||
- **vDiff: Changed Files** – uncommitted changes (staged, unstaged, untracked). Arrowing through
|
||
the list previews each file; Enter keeps it, Esc goes back to what was shown.
|
||
- **vDiff: Recent Commits** – last N commits, then the files of the chosen commit. A key binding to
|
||
`vdiff_commits` with `{"sha": "HEAD"}` skips the list and reviews the last commit directly.
|
||
|
||
Keys inside the review view:
|
||
|
||
| key | action |
|
||
|---|---|
|
||
| `f` / `c` | changed files / recent commits panel |
|
||
| `s` / `u` / `d` | stage / unstage / discard the file (uncommitted mode) |
|
||
| `o` or Enter | open the real file at this line |
|
||
| `]` / `[` | next / previous change |
|
||
| `n` / `p` | next / previous file of the current list |
|
||
| `j` / `k` | move down / up one line (vim keys) |
|
||
| `r` | refresh |
|
||
| `?` | show this key list in a popup |
|
||
| Esc | close the view |
|
||
|
||
The header links do the same with the mouse. Settings: `vDiff.sublime-settings`.
|