The table below is generated from the same Go table the ? overlay renders,
so the two can never disagree. Filter it by action, key or description, or narrow it to a
single section — press / to jump to the filter.
/
35 of 35
Changes
Action
Keys
Where
What it does
Stage / unstage
space
Files
Stage or unstage the selected file, or every change under the selected directory. An untracked file is svn added first.
Add to version control
a
Files
Put the selection under version control with svn add. On a file row it adds that file, on a directory row everything untracked beneath it, and an untracked directory is added with its whole contents, since that is how svn add reads one. Anything already versioned, and anything ignored, is left alone. The rows restyle on the keypress and go back if svn refuses them; r undoes an add, leaving the file on disk and untracked again.
Assign changelist
n
Files
Assign the staged set — or just the selected file when nothing is staged — to a named changelist.
Commit staged / list
c
Files
Commit the staged files, or the selected changelist.
Expand changelist
enter
Files
Expand or collapse the selected directory, or drill into a changelist.
Revert / delete file
rd
Files
Revert or delete the selected file, or everything under the selected directory. In the Diffs view d deletes the highlighted patch file from diffOutputDir instead. All ask for confirmation.
Apply saved patch
p
Diffs
Apply the patch file highlighted in the Diffs view to the source path, after asking for confirmation. A patch taken from another directory — one whose files are not the ones here — is refused, as is one svn says would land nothing at all. A patch that only partly fits is applied for what it is worth, with the hunks svn could not place written out beside their targets as .rej files.
Resolve conflict
m
Files
Resolve the selection side by side. Which view you are in decides what it resolves, and the two are never mixed: in the Changes view (or an expanded changelist) it reads the conflict markers in the selected C file, and in the Rejects view it reads the selected .rej against the file it was written for. A patch that leaves a file both conflicted and with a reject beside it is therefore two pieces of work, one in each view. Each conflict, or each rejected hunk that still fits, is a page: 1 takes the left side, 2 the right, 3 both and 0 clears the choice. Once every page has been decided, w writes the file back out and clears what marked it — svn resolve for a conflict, removing the reject for a reject. e opens the file in your editor to merge it by hand instead.
Shelf
Action
Keys
Where
What it does
Pick / shelve
vz
Files
Hold the selection for the next shelve, or take what is held out of the working copy. v works on a file, on a directory — everything shelvable beneath it — and on a changelist row, so changes already filed under one are shelved without drilling in; pressed again it lets them go, as does esc. A pick is held by path rather than by row, so it survives a reload, a filter and a rebuild. z opens a prompt for a name and then takes what is held; with nothing held it means the whole working copy, and asks first.
Apply / pop
enterp
Shelf
Merge the highlighted entry back into the working copy. enter leaves it on the shelf, p takes it off — but only when the whole of it went back, since while a hunk is sitting in a .rej or an unversioned file could not be placed, the shelf is the only remaining copy of what did not make it. Both ask first, and say so when the entry was shelved at a revision the working copy has since moved off.
Drop / rename
dn
Shelf
Delete the highlighted entry, after asking — nothing else has a copy of what it holds — or relabel it, from a prompt that opens on the name it has now.
Working copy
Action
Keys
Where
What it does
Update working copy
u
Global
Update the working copy to the latest revision.
Update to rev
space
Log
Update the working copy to the selected revision.
Open file in editor
e
Files
Open the highlighted file in the configured editor, positioned on its first changed hunk. Pressed with the Diff panel focused it opens on the line under the cursor instead, so the editor picks up where the eye left off — which is also how a file is picked out of a directory's combined diff. It works from the side-by-side and resolution overlays too, on the file whose page is open.
Change source path
P
Global
Re-scope revision to another directory inside the working copy, browsing to it from a prompt that opens on the directory it is reading now. The working copy's root is fixed, and the new source lasts for the session only — it is never saved.
Switch repository
W
Global
Move revision to another working copy altogether. The prompt opens at once and the checkouts it finds fill in behind it, so a slow filesystem never holds up the keystroke; typing narrows the list. It looks in the directory revision was started in, in the checkout it is reading, and in that checkout's parents a few levels up, so a sibling of the current tree is offered as readily as something inside it — nearest first. The search stops at each checkout it finds, since everything under one belongs to it, and gives up after a few seconds rather than walking a large tree to the end; anything it did not reach is opened by typing its path in full. A path that is not an SVN working copy is refused and nothing changes. The switch lasts for the session only.
Refresh / settings
RS
Global
Refresh status and history, or open the settings editor.
Toggle live refresh
L
Global
Turn background watching of the working copy on or off. While it is on, a change made outside revision reaches the Files and diff panels on its own. The toggle lasts for the session only; liveRefresh sets the default.
Navigation
Action
Keys
Where
What it does
Jump to panel
12340
Global
Focus the Status, Files, Log, Shelf or Main panel. The Command Log has no number: x shows it and a click focuses it.
Cycle panels
tabshift+tab
Global
Move focus to the next or previous side panel — Status, Files, Log, Shelf. Main and the Command Log are outside the cycle, so tab pressed on either returns to the side panel driving Main.
Move up / down
kj
Any panel
Move the selection up or down. ↑ and ↓ work too.
Jump top / bottom
gG
Any panel
Jump to the first or last row.
Next / prev history page
np
Log
Load the next or previous page of revision history. A page holds logLimit revisions.
Scroll main up / down
KJ
Main
Scroll the Main panel up or down a page.
Scroll main l / r
hl
Main
Scroll the focused panel one column left or right. ← and → work too.
Line start / end
homeend
Any panel
Jump to the start or end of the line. ^ and $ work too.
Filter panel
/
Any panel
Filter the Files or Log panel, or search within Main or Status.
View
Action
Keys
Where
What it does
Switch file view
[]
Files
Turn the Files panel between the Changes, Changelists, Diffs and Rejects views.
Side-by-side / save
sw
Main
Open the diff on screen side by side in an overlay, or save it to a file in diffOutputDir. w saves a range of history too, down to the single file the drilled-in tree points at; that patch has already been read, so it is written as it stands rather than asked of svn a second time.
Pick revisions
v
Log
Pick the selected revision to be diffed, or unpick it. Two can be held at once, and picking a third drops whichever was picked first, so the far end of a comparison can be moved without unpicking it each time. esc lets them go. A pick is held by revision rather than by row, so it survives paging and filtering — the two ends need not be on the same page.
Diff picked revisions
enter
Log
Diff whatever is picked, and open the files it touched as a tree in place of the revisions. One revision on its own is compared with the one before it, so what that commit changed is what you see. Two are compared with each other as they stand: the diff runs from the older to the newer, which is the state at one against the state at the other rather than the sum of the commits between them — the older revision's own change is already on the left-hand side and is not part of it. The tree reads like the Changes view: a file shows its own patch, a directory everything beneath it, and enter folds a directory away. It covers the directory displayFrom roots the views at. esc comes back out to the revisions, leaving the picks held for another look.
Dir diff / untracked
DU
Files
Toggle the directory-level diff for the highlighted directory, or toggle hiding untracked files.
Toggle command log
x
Global
Show or hide the Command Log panel. It sits outside the panel cycle and has no number, so clicking it is the only way to focus and scroll it.
General
Action
Keys
Where
What it does
Toggle help
?
Global
Open or close this keybindings reference.
Quit
q
Global
Quit revision. ctrl+c works too.
Nothing matches that filter. Clear it to see all 35 keybindings.
╭─ [1] S╭─ Keybindings ────────────────────────────────────────────────╮───────╮
│Root │Changes Navigation │ │
│Source │ Stage / unstage space Jump to panel 1 2 3 4 0│ │
│CWD │ Add to version control a Cycle panels tab / shift+tab│ │
│Branch │ Assign changelist n Move up / down k / j│ │
│Revisio│ Commit staged / list c Jump top / bottom g / G│ │
│ │ Expand changelist enter Next / prev history pa n / p│ │
╰───────│ Revert / delete file r / d Scroll main up / down K / J│ │
╭─ [2] ─│ Apply saved patch p Scroll main l / r h / l│ │
│ ▾ / │ Resolve conflict m Line start / end home / end│ │
│> │Shelf Filter panel /│ │
│ │ Pick / shelve v / z View │ │
│ │ Apply / pop enter / p Switch file view [ / ]│ │
╰───────│ Drop / rename d / n Side-by-side / save s / w│ │
╭─ [3] L│Working copy Pick revisions v│ │
│ Rev A│ Update working copy u Diff picked revisions enter│ │
│ │ Update to rev (Log) space Dir diff / untracked D / U│───────╯
│ │ Open file in editor e Toggle command log x│───────╮
│ │ Change source path P General │ │
╰───────│ Switch repository W Toggle help ?│ │
╭─ [4] S│ Refresh / settings R / S Quit q│ │
│ │ Toggle live refresh L │ │
╰───────╰──────────────────────────────────────────────────────────────╯───────╯
space stage · a add · v pick · n changelist · c commit · r revert · d delete · …