Skip to content

Keystroke Index

231 explicitly authored keystroke entries. Each entry includes its section context, binding kind, and any authored interface, mode, prefix, state, command, or editor scope.

$
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeVanilla
  • Commandmajutsu-process-buffer
Show the current repository's process buffer. It retains recent synchronous and asynchronous jj commands, including failures and long-running remote operations.
*
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeEvil
  • Commandmajutsu-workspace
Open the workspace transient.
+
  • KindCommand binding
  • InterfaceDiff buffer
  • Modemajutsu-diff-mode
  • Commandmajutsu-diff-more-context
Increase the context for diff hunks by COUNT lines.
-
  • KindCommand binding
  • InterfaceDiff buffer
  • Modemajutsu-diff-mode
  • ScopeVanilla
  • Commandmajutsu-diff-less-context
Decrease the context for diff hunks by COUNT lines.
--
  • KindTransient argument
  • InterfaceAbsorb transient
Limit absorb to specific filesets.
--
  • KindTransient argument
  • InterfaceRestore transient
Limit restore to selected files or filesets.
--
  • KindTransient argument
  • InterfaceSplit transient
Limit split to selected files or filesets.
--
  • KindTransient argument
  • InterfaceSquash transient
Limit squash to specific filesets.
--
  • KindTransient argument
  • InterfaceDiff transient
Limit diff to selected files/filesets. Completion shows full repository-relative paths changed by the active --revisions or --from / --to selection. Without an explicit selection it uses revisions in the active log region, then the revision at point, and finally @. Fileset expressions remain free-form and can still be entered directly.
--
  • KindTransient argument
  • InterfaceLog options transient
Add fileset/path filters to limit the log to matching files.
-A
  • KindTransient argument
  • InterfaceFetch transient
Fetch from all remotes.
-a
  • KindTransient argument
  • InterfacePush transient
Push all bookmarks and tags.
-A
  • KindTransient argument
  • InterfaceNew transient
Insert after constraint.
-A / -B
  • KindTransient argument
  • InterfaceDuplicate transient
Insert after or before constraints.
-A / -B
  • KindTransient argument
  • InterfaceRebase transient
Insert after or before the selected destination revisions.
-A / -B
  • KindTransient argument
  • InterfaceRevert transient
Insert reverse changes after or before selected revisions.
-A / -B
  • KindTransient argument
  • InterfaceSplit transient
Insert after or before constraints.
-A / -B
  • KindTransient argument
  • InterfaceSquash transient
Insert after or before constraints.
-b
  • KindTransient argument
  • InterfaceFetch transient
Fetch a specific branch; may be repeated.
-b
  • KindTransient argument
  • InterfaceGerrit upload transient
Target remote branch (--remote-branch).
-b
  • KindTransient argument
  • InterfacePush transient
Push specific bookmark(s).
-B
  • KindTransient argument
  • InterfaceNew transient
Insert before constraint.
-b
  • KindTransient argument
  • InterfaceRebase transient
Rebase a whole branch relative to the destination (--branch).
-b / -w
  • KindTransient argument
  • InterfaceDiff transient
Ignore whitespace amount / ignore all whitespace.
-c
  • KindTransient argument
  • InterfacePush transient
Push a specific change.
-c
  • KindTransient argument
  • InterfaceRestore transient
Undo changes introduced by a revision (--changes-in).
-c
  • KindTransient argument
  • InterfaceDiff transient
Set context line count.
-c / -u / -U / -f
  • KindTransient argument
  • InterfaceMetaedit transient
Toggle update-change-id, update-author, update-author-timestamp, or force-rewrite.
-d
  • KindTransient argument
  • InterfaceRestore transient
Restore descendants as well.
-e
  • KindTransient argument
  • InterfaceNew transient
No edit (don't switch to the new change).
-f
  • KindTransient argument
  • InterfaceAbsorb transient
Source revision (--from, default @).
-f
  • KindTransient argument
  • InterfaceRestore transient
Restore from a specific revision (--from).
-f
  • KindTransient argument
  • InterfaceSquash transient
Source revisions (--from).
-g
  • KindTransient argument
  • InterfaceDiff transient
Toggle Git-style diff output.
-G
  • KindTransient argument
  • InterfaceLog options transient
Toggle the ASCII graph.
-I
  • KindTransient argument
  • InterfaceMetaedit transient
Ignore immutable revisions.
-I
  • KindTransient argument
  • InterfaceSign and Unsign transients
Ignore immutable revisions.
-I
  • KindTransient argument
  • InterfaceSimplify Parents transient
Ignore immutable revisions.
-k
  • KindTransient argument
  • InterfaceSign and Unsign transients
Override the configured signing key for jj sign. Majutsu completes secret signing keys for the gpg and gpgsm backends, and the configured key plus ~/.ssh/*.pub for the ssh backend. Arbitrary values remain available for backend-specific key formats. A commit-signing backend must be configured in jj.
-k
  • KindTransient argument
  • InterfaceSquash transient
Keep commits that become empty after squashing.
-m
  • KindTransient argument
  • InterfaceNew transient
Set a message.
-m
  • KindTransient argument
  • InterfaceSplit transient
Set a message for the first part.
-m / -a / -t
  • KindTransient argument
  • InterfaceMetaedit transient
Set message, author, and author timestamp.
-n
  • KindTransient argument
  • InterfaceGerrit upload transient
Preview without pushing (--dry-run).
-n
  • KindTransient argument
  • InterfaceLog options transient
Limit the number of revisions shown.
-o
  • KindTransient argument
  • InterfacePush transient
Pass a Git push option; may be repeated.
-o
  • KindTransient argument
  • InterfaceDuplicate transient
Destination (--onto).
-o
  • KindTransient argument
  • InterfaceRebase transient
Rebase onto destination parent(s) (--onto).
-o
  • KindTransient argument
  • InterfaceRevert transient
Apply reverse changes on top of revisions (--onto).
-o
  • KindTransient argument
  • InterfaceSplit transient
Specify the destination (--onto).
-o
  • KindTransient argument
  • InterfaceSquash transient
Onto destination.
-p
  • KindTransient argument
  • InterfaceRebase transient
Remove redundant parent edges while rebasing (--simplify-parents).
-p
  • KindTransient argument
  • InterfaceSplit transient
Parallel split mode.
-R
  • KindTransient argument
  • InterfaceFetch transient
Fetch from a specific remote; may be repeated.
-r
  • KindTransient argument
  • InterfaceGerrit upload transient
Upload specific revision(s).
-R
  • KindTransient argument
  • InterfaceGerrit upload transient
Gerrit remote (--remote).
-r
  • KindTransient argument
  • InterfacePush transient
Push specific revision(s).
-r
  • KindTransient argument
  • InterfaceNew transient
Parent revisions.
-r
  • KindTransient argument
  • InterfaceDuplicate transient
Source revisions to duplicate.
-r
  • KindTransient argument
  • InterfaceRebase transient
Rebase only the selected revisions while preserving dependencies among them (--revision).
-r
  • KindTransient argument
  • InterfaceRevert transient
Source revisions to revert (--revision, repeatable).
-r
  • KindTransient argument
  • InterfaceSimplify Parents transient
Simplify specified revision(s) only (--revision).
-r
  • KindTransient argument
  • InterfaceSplit transient
Specify the revision to split.
-r
  • KindTransient argument
  • InterfaceLog options transient
Set a revset filter with Majutsu's standard revset expression reader (e.g., all(), mine(), or A | B). The current filter is prefilled for editing; submit an empty value to clear it.
-s
  • KindTransient argument
  • InterfaceRebase transient
Rebase a revision and its descendants (--source).
-s
  • KindTransient argument
  • InterfaceSimplify Parents transient
Simplify specified revision(s) together with descendant trees (--source).
-S
  • KindTransient argument
  • InterfaceDiff transient
Toggle stat output.
-s
  • KindTransient argument
  • InterfaceDiff transient
Toggle summary output.
-T
  • KindTransient argument
  • InterfaceFetch transient
Fetch specific tag(s) or tag patterns; may be repeated.
-t
  • KindTransient argument
  • InterfaceFetch transient
Fetch only tracked bookmarks and tags.
-t
  • KindTransient argument
  • InterfacePush transient
Push tracked bookmarks and tags only.
-T
  • KindTransient argument
  • InterfacePush transient
Push specific tag(s) or tag patterns.
-t
  • KindTransient argument
  • InterfaceAbsorb transient
Destination revset filters (--into, repeatable, default mutable()).
-t
  • KindTransient argument
  • InterfaceRestore transient
Restore to a specific revision (--to).
-t
  • KindTransient argument
  • InterfaceSquash transient
Destination revision (--into).
-t
  • KindTransient argument
  • InterfaceWorkspace transient
Toggle trashing workspace directories after forgetting them.
-u
  • KindTransient argument
  • InterfaceSquash transient
Use the destination revision's description and discard source descriptions (--use-destination-message).
-v
  • KindTransient argument
  • InterfaceLog options transient
Toggle reverse order.
-W
  • KindTransient argument
  • InterfaceDiff transient
Toggle color-words diff output.
-y
  • KindTransient argument
  • InterfacePush transient
Show what would be pushed without pushing (--dry-run).
0
  • KindCommand binding
  • InterfaceDiff buffer
  • Modemajutsu-diff-mode
  • ScopeVanilla
  • Commandmajutsu-diff-default-context
Reset the context for diff hunks to the default height.
1..9
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeVanilla
  • PrefixC-c ^
  • Commandmajutsu-conflict-keep-side
Keep side N (the "after" side in JJ diff blocks).
=
  • KindCommand binding
  • InterfaceDiff buffer
  • Modemajutsu-diff-mode
  • ScopeEvil
  • Commandmajutsu-diff-less-context
Decrease the context for diff hunks by COUNT lines.
>
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-sparse
Open the sparse working copy transient (set, add, remove, list, edit).
? E
  • KindCommand binding
  • InterfaceMajutsu dispatcher / buffer
  • Modemajutsu-mode
  • ScopeVanilla
  • Commandmajutsu-ediff
Open the Ediff transient.
? G
  • KindCommand binding
  • InterfaceMajutsu buffer / dispatcher
  • Modemajutsu-mode
  • ScopeEvil
  • Commandmajutsu-git-transient
Open the Git transient. Jujutsu can interact directly with Git remotes.
? j
  • KindCommand binding
  • InterfaceMajutsu dispatcher
  • Commandmajutsu-sign
Open the Sign transient. Revisions in the active region are selected initially, followed by the revision at point, then @ as fallbacks.
? J
  • KindCommand binding
  • InterfaceMajutsu dispatcher
  • Commandmajutsu-unsign
Open the Unsign transient with the same visual revision selection.
? m
  • KindCommand binding
  • InterfaceMajutsu dispatcher
  • Commandmajutsu-metaedit
Open the Metaedit transient. Revisions in the active region are selected initially, followed by the revision at point, then @ as fallbacks.
? P
  • KindCommand binding
  • InterfaceMajutsu dispatcher
  • Commandmajutsu-simplify-parents
Open the Simplify Parents transient.
? t
  • KindCommand binding
  • InterfaceMajutsu dispatcher
  • Commandmajutsu-tag
Open the tag transient.
? v
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeEvil
  • Commandmajutsu-evolog
Open the evolution log from the Majutsu dispatcher. Contextual v remains available in operation diff buffers.
? w f
  • KindCommand binding
  • InterfaceCopy dispatcher
  • Commandmajutsu-row-copy-field
Copy the rendered field value at point.
? w F
  • KindCommand binding
  • InterfaceCopy dispatcher
  • Commandmajutsu-row-copy-entry-field
Choose any canonical field stored on the current entry, including hidden metadata that is not visible in the current layout. Completion keeps the field name as the candidate and displays a one-line value preview as its annotation.
? w m
  • KindCommand binding
  • InterfaceCopy dispatcher
  • Commandmajutsu-row-copy-module
Copy the rendered visible module at point (heading, tail, or body), without graph-prefix or tail-spacer decoration.
? w s
  • KindCommand binding
  • InterfaceCopy dispatcher
  • Commandmajutsu-copy-section-value
Copy the current section value. An active region uses ordinary region copy.
? y
  • KindCommand binding
  • InterfaceMajutsu dispatcher
  • Commandmajutsu-duplicate
Open the Duplicate transient. Allows selecting source revisions and destination.
[[ / gk
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeEvil
  • StateNormal
  • Commandmajutsu-conflict-prev
Jump to the previous conflict.
]] / gj
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeEvil
  • StateNormal
  • Commandmajutsu-conflict-next
Jump to the next conflict.
_
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeEvil
  • Commandmajutsu-revert
Open the Revert transient to apply reverse changes in one or more new revisions.
`
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeEvil
  • Commandmajutsu-process-buffer
Show the current repository's process buffer. It retains recent synchronous and asynchronous jj commands, including failures and long-running remote operations.
a
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-advance
Advance bookmarks using jj's configured default selection and target revset.
A
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-advance-to
Advance bookmarks using jj's default selection to an explicit target revset.
a
  • KindCommand binding
  • InterfaceRemote Management transient
  • Commandmajutsu-git-remote-add-transient
Add a new Git remote as jj git remote add [OPTIONS] REMOTE URL. Majutsu prompts for a new remote name, rejects names that already exist, prompts for the URL/path positional, and exposes --fetch-tags and --push-url.
a
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-absorb
Open the Absorb transient.
A
  • KindCommand binding
  • InterfaceLog buffer
  • Modemajutsu-log-mode
  • Commandmajutsu-new-with-after
Create a new change after the revision at point.
a
  • KindCommand binding
  • InterfaceWorkspace transient
  • Commandmajutsu-workspace-add
Add a new workspace.
a / r
  • KindCommand binding
  • InterfaceSparse transient
  • Commandsmajutsu-sparse-add,majutsu-sparse-remove
Add or remove patterns incrementally.
b
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-bookmark
Open the bookmark transient.
b
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeVanilla
  • PrefixC-c ^
  • Commandmajutsu-conflict-keep-base
Keep the conflict base (snapshot / rebase destination section).
b
  • KindCommand binding
  • InterfaceAnnotate buffer
  • Modemajutsu-annotate-read-only-mode
  • ScopeVanilla
  • Commandmajutsu-annotate-addition
Enter annotate from a blob buffer. From an ordinary file buffer, use M-x majutsu-annotate-addition. When invoked again on an annotated chunk, jump to its parent revision (when available) and re-annotate there.
b
  • KindCommand binding
  • InterfaceBlob buffer
  • Modemajutsu-blob-mode
  • Commandmajutsu-annotate-addition
Start annotate for the current blob.
B
  • KindCommand binding
  • InterfaceLog buffer
  • Modemajutsu-log-mode
  • ScopeVanilla
  • Commandmajutsu-new-with-before
Create a new change before the revision at point.
c
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-create
Create a new bookmark at point.
c
  • KindCommand binding
  • InterfaceAnnotate buffer
  • Modemajutsu-annotate-read-only-mode
  • Commandmajutsu-annotate-cycle-style
Cycle heading/highlight/line styles (see majutsu-annotate-styles).
c
  • KindCommand binding
  • InterfaceGit transient
  • Commandmajutsu-git-clone-transient
Clone a Git repository into a jj repo. Source may be a URL or path; --branch can be repeated.
C
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-commit
Run jj commit through with-editor. This edits the working-copy description, finalizes that change, and lets jj create the next empty working-copy change on top.
c
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-describe
Edit the description of the revision at point. Supports --ignore-immutable for immutable revisions.
C-/ / C-?
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeVanilla
  • Commandsmajutsu-undo,majutsu-redo
Undo or redo.
C-<return>
  • KindCommand binding
  • InterfaceDiff buffer
  • Modemajutsu-diff-mode
  • ScopeEvil
  • Commandmajutsu-diff-visit-workspace-file
Visit the workspace file without conflicting with Evil's C-j section navigation.
C-c C-c
  • KindCommand binding
  • InterfaceEditable blob buffer
  • Modemajutsu-blob-edit-mode
  • Commandmajutsu-blob-edit-finish
Apply changes through non-interactive jj diffedit and exit edit mode. Majutsu copies current buffer text into the diffedit right side and finishes automatically, without opening the right-side temp file buffer.
C-c C-c
  • KindCommand binding
  • InterfaceJJ description buffer
  • Modemajutsu-jjdescription-mode
  • Commandwith-editor-finish
Finish the current edit session successfully. jj then uses the description found in the file.
C-c C-d
  • KindCommand binding
  • InterfaceJJ description buffer
  • Modemajutsu-jjdescription-mode
  • Commandmajutsu-jjdescription-show-diff
Show the diff for the described change. If the buffer contains a JJ: Change ID: line, then use that revision; otherwise fall back to @.
C-c C-k
  • KindCommand binding
  • InterfaceEditable blob buffer
  • Modemajutsu-blob-edit-mode
  • Commandmajutsu-blob-edit-abort
Abort blob edits, restore the original content, and restore the original cursor position.
C-c C-k
  • KindCommand binding
  • InterfaceJJ description buffer
  • Modemajutsu-jjdescription-mode
  • Commandwith-editor-cancel
Cancel the current edit session with a non-zero editor status, causing jj to abort the operation. Majutsu saves the current text to its in-session description history before canceling.
C-c m
  • KindCommand binding
  • InterfaceBlob buffer
  • Modemajutsu-blob-mode
  • Commandmajutsu-blob-visit-magit
Open the current blob in Magit's blob viewer.
C-c M-n
  • KindCommand binding
  • InterfaceJJ description buffer
  • Modemajutsu-jjdescription-mode
  • Commandmajutsu-jjdescription-search-message-forward
Search forward through the description ring for a substring match.
C-c M-p
  • KindCommand binding
  • InterfaceJJ description buffer
  • Modemajutsu-jjdescription-mode
  • Commandmajutsu-jjdescription-search-message-backward
Search backward through the description ring for a substring match.
C-c M-s
  • KindCommand binding
  • InterfaceJJ description buffer
  • Modemajutsu-jjdescription-mode
  • Commandmajutsu-jjdescription-save-message
Save the current buffer contents to the description ring.
C-j / C-<return>
  • KindCommand binding
  • InterfaceDiff buffer
  • Modemajutsu-diff-mode
  • ScopeVanilla
  • Commandmajutsu-diff-visit-workspace-file
Visit the workspace file, regardless of diff type.
C-j / g j / C-k / g k
  • KindCommand binding
  • InterfaceAnnotate buffer
  • Modemajutsu-annotate-read-only-mode
  • ScopeEvil
  • Commandsmajutsu-annotate-next-chunk,majutsu-annotate-previous-chunk
Move to the next or previous chunk.
C-x C-q
  • KindCommand binding
  • InterfaceEditable blob buffer
  • Modemajutsu-blob-edit-mode
  • Commandmajutsu-blob-edit-exit
Leave editable mode. If modified, it prompts to save or abort; if unchanged, it exits immediately.
d
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-delete
Delete a bookmark locally and record the deletion for propagation on a later push; this command does not contact a remote itself.
d
  • KindCommand binding
  • InterfaceRemote Management transient
  • Commandmajutsu-git-remote-remove
Remove an existing remote. In the remote list buffer, the remote at point is used as the default.
d
  • KindCommand binding
  • InterfaceTag transient
  • Commandmajutsu-tag-delete
Delete tag(s) by name or pattern.
d
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-diff
Open the Diff transient.
E
  • KindCommand binding
  • InterfaceMajutsu dispatcher / buffer
  • Modemajutsu-mode
  • ScopeEvil
  • Commandmajutsu-ediff
Open the Ediff transient.
e
  • KindCommand binding
  • InterfaceEdiff transient
  • Commandmajutsu-ediff-dwim
Compare based on context (hunk, file, commit, or whole buffer).
E
  • KindCommand binding
  • InterfaceEdiff transient
  • Commandmajutsu-ediff-edit
Run jj diffedit with Emacs as ui.diff-editor. If no file is at point, Majutsu prompts for a changed file, then launches a two-sided Ediff session for that single file (left/right temp files). Edit the right-side temp file and quit Ediff to return control to jj diffedit. When majutsu-diffedit-finish-on-save is non-nil, saving a diffedit temp file can finish the with-editor session automatically.
e
  • KindCommand binding
  • InterfaceGit transient
  • Commandmajutsu-git-export
Run jj git export.
e
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-edit-changeset
Move the working copy (@) to the revision at point. Supports --ignore-immutable for immutable revisions.
e
  • KindCommand binding
  • InterfaceSparse transient
  • Commandmajutsu-sparse-edit
Edit patterns via jj sparse edit.
e / C-x C-q
  • KindCommand binding
  • InterfaceBlob buffer
  • Modemajutsu-blob-mode
  • Commandmajutsu-blob-edit-start
Enter editable blob mode (wdired-style).
f
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-forget
Forget a bookmark locally without affecting remotes.
f
  • KindCommand binding
  • InterfaceGit transient
  • Commandmajutsu-git-fetch-transient
Open the Fetch transient to pull changes from a remote.
f
  • KindCommand binding
  • InterfaceWorkspace transient
  • Commandmajutsu-workspace-forget
Forget a workspace. With -t enabled, also move its local directory to the system trash after jj workspace forget succeeds; this trash step accepts local roots only, while plain forget can still forget a remotely located workspace. Before moving a directory, Majutsu verifies that the path still identifies the directory the user confirmed and does not own the shared .jj/repo store. It checks all selected workspaces and reports all paths requiring manual cleanup together.
f / t
  • KindTransient argument
  • InterfaceDiff transient
Select the --from and --to revisions.
g
  • KindCommand binding
  • InterfaceBlob buffer
  • Modemajutsu-blob-mode
  • ScopeVanilla
  • Commandrevert-buffer
Revert or reload the current blob content.
G
  • KindCommand binding
  • InterfaceMajutsu buffer / dispatcher
  • Modemajutsu-mode
  • ScopeVanilla
  • Commandmajutsu-git-transient
Open the Git transient. Jujutsu can interact directly with Git remotes.
g J / g K
  • KindCommand binding
  • InterfaceAnnotate buffer
  • Modemajutsu-annotate-read-only-mode
  • ScopeEvil
  • Commandsmajutsu-annotate-next-chunk-same-commit,majutsu-annotate-previous-chunk-same-commit
Move to the next or previous chunk from the same commit.
g r
  • KindCommand binding
  • InterfaceBlob buffer
  • Modemajutsu-blob-mode
  • ScopeEvil
  • Commandrevert-buffer
Revert or reload the current blob content.
gb
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeEvil
  • StateNormal
  • Commandmajutsu-conflict-keep-base
Keep the base.
ge
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeEvil
  • StateNormal
  • Commandmajutsu-conflict-refine
Refine the conflict.
gr 1..9
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeEvil
  • StateNormal
  • Commandmajutsu-conflict-keep-side
Keep side N (the "after" side).
gR 1..9
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeEvil
  • StateNormal
  • Commandmajutsu-conflict-keep-side
Keep side N's "before" variant.
i
  • KindCommand binding
  • InterfaceBlob buffer
  • Modemajutsu-blob-mode
  • ScopeEvil
  • StateNormal
  • Commandmajutsu-evil-blob-insert-dwim
Enter editable blob mode and stay in normal state.
i
  • KindCommand binding
  • InterfaceEditable blob buffer
  • Modemajutsu-blob-edit-mode
  • ScopeEvil
  • StateNormal
  • Commandevil-insert-state
Enter insert state.
i
  • KindCommand binding
  • InterfaceGit transient
  • Commandmajutsu-git-init-transient
Initialize a new Git-backed jj repository.
I
  • KindCommand binding
  • InterfaceLog buffer
  • Modemajutsu-log-mode
  • ScopeEvil
  • Commandmajutsu-new-with-before
Create a new change before the revision at point.
k
  • KindCommand binding
  • InterfaceLog buffer
  • Modemajutsu-log-mode
  • ScopeVanilla
  • Commandmajutsu-abandon
Remove the revision at point from visible history and rebase its descendants onto its parent(s). With an active region selection, Majutsu abandons all selected revisions. The operation remains recoverable through jj's operation history until that history is pruned.
l
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-list
List all bookmarks.
l
  • KindCommand binding
  • InterfaceRemote Management transient
  • Commandmajutsu-git-remote-list
List remotes.
l
  • KindCommand binding
  • InterfaceSparse transient
  • Commandmajutsu-sparse-list
List current sparse patterns in *Majutsu Sparse*.
l
  • KindCommand binding
  • InterfaceTag transient
  • Commandmajutsu-tag-list
List tags in a dedicated buffer.
l
  • KindCommand binding
  • InterfaceWorkspace transient
  • Commandmajutsu-workspace-list
List all workspaces.
l
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeVanilla
  • Commandmajutsu-log-transient
Open the log options transient.
L
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeEvil
  • Commandmajutsu-log-transient
Open the log options transient.
m
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-move
Move a bookmark.
M
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-move-allow-backwards
Move bookmark(s) with --allow-backwards.
m
  • KindCommand binding
  • InterfaceEdiff transient
  • Commandmajutsu-ediff-resolve
Resolve conflicted files. In a jj-commit section, it lists conflicted files for that revision; otherwise it uses working copy @. Uses jj resolve with 3-way Ediff (merge tool: $left, $base, $right) for up-to-2-sided conflicts, and falls back to jj diffedit for conflicts with more than 2 sides. In this flow, quitting Ediff without editing leaves jj's output unchanged, so the conflict stays unresolved. If you edited and quit, Majutsu asks whether to save the resolved result; choosing no discards edits and keeps conflicts. When only part of a conflict is resolved, remaining regions are written with git-style conflict markers so jj keeps unresolved regions unresolved. Conflict-file completion preserves exact repository paths and annotates each candidate with its conflict side count.
M
  • KindCommand binding
  • InterfaceEdiff transient
  • Commandmajutsu-ediff-resolve-with-conflict
Open the resolve target buffer (working-copy file or revision blob), enable majutsu-conflict-mode, and jump to the first conflict.
m
  • KindCommand binding
  • InterfaceGit transient
  • Commandmajutsu-git-import
Run jj git import.
m
  • KindCommand binding
  • InterfaceTag transient
  • Commandmajutsu-tag-move
Move existing tag(s) to another revision (internally --allow-move).
m in the Ediff transient
  • KindCommand binding
  • InterfaceEdiff transient
  • Commandmajutsu-ediff-resolve
Use the automatic resolve strategy.
M in the Ediff transient
  • KindCommand binding
  • InterfaceEdiff transient
  • Commandmajutsu-ediff-resolve-with-conflict
Force the conflict workflow. This opens the working-copy file (or a revision blob buffer for non-working-copy revisions), enables majutsu-conflict-mode, and jumps to the first conflict.
M-1..M-9
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeVanilla
  • PrefixC-c ^
  • Commandmajutsu-conflict-keep-side
Keep side N's "before" variant.
M-n
  • KindCommand binding
  • InterfaceJJ description buffer
  • Modemajutsu-jjdescription-mode
  • Commandmajutsu-jjdescription-next-message
Cycle forward through the description ring, after saving the current description to the ring. With a numeric prefix ARG, go forward ARG entries.
M-p
  • KindCommand binding
  • InterfaceJJ description buffer
  • Modemajutsu-jjdescription-mode
  • Commandmajutsu-jjdescription-prev-message
Cycle backward through the description ring, after saving the current description to the ring. With a numeric prefix ARG, go back ARG entries.
M-w
  • KindCommand binding
  • InterfaceAnnotate buffer
  • Modemajutsu-annotate-read-only-mode
  • Commandmajutsu-annotate-copy-hash
Copy the chunk change-id.
n
  • KindCommand binding
  • InterfaceWorkspace transient
  • Commandmajutsu-workspace-rename
Rename a workspace.
n / p
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeVanilla
  • PrefixC-c ^
  • Commandsmajutsu-conflict-next,majutsu-conflict-prev
Jump to the next or previous conflict.
n / p
  • KindCommand binding
  • InterfaceAnnotate buffer
  • Modemajutsu-annotate-read-only-mode
  • ScopeVanilla
  • Commandsmajutsu-annotate-next-chunk,majutsu-annotate-previous-chunk
Move to the next or previous chunk.
N / P
  • KindCommand binding
  • InterfaceAnnotate buffer
  • Modemajutsu-annotate-read-only-mode
  • ScopeVanilla
  • Commandsmajutsu-annotate-next-chunk-same-commit,majutsu-annotate-previous-chunk-same-commit
Move to the next or previous chunk from the same commit.
o
  • KindCommand binding
  • InterfaceGit transient
  • Commandmajutsu-git-root
Show the Git directory path (jj git root).
o
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-new
Open the New transient to specify options.
O
  • KindCommand binding
  • InterfaceLog buffer
  • Modemajutsu-log-mode
  • Commandmajutsu-new-dwim
Create a new change on top of the revision at point (DWIM).
p
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-advance-patterns
Advance specific bookmark name(s)/pattern(s) using jj's configured default target revset.
p
  • KindCommand binding
  • InterfaceGit transient
  • Commandmajutsu-git-push-transient
Open the Push transient. You can push bookmarks, tags, revisions, or changes.
p / n
  • KindCommand binding
  • InterfaceBlob buffer
  • Modemajutsu-blob-mode
  • Commandsmajutsu-blob-previous,majutsu-blob-next
Jump to the previous or next revision that touched this file, while preserving cursor position as much as possible.
r
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-rename
Rename a bookmark.
R
  • KindCommand binding
  • InterfaceConflict buffer
  • Modemajutsu-conflict-mode
  • ScopeVanilla
  • PrefixC-c ^
  • Commandmajutsu-conflict-refine
Refine conflict regions with word-level highlighting.
r
  • KindTransient argument
  • InterfaceGerrit upload transient
Toggle the revision at point into or out of the upload selection. If no revision is selected, Majutsu leaves revision selection to jj gerrit upload, which uploads @ when it has a description and @- otherwise.
r
  • KindCommand binding
  • InterfaceGit transient
  • Commandmajutsu-git-remote-transient
Open the Remote Management transient.
r
  • KindCommand binding
  • InterfaceRemote Management transient
  • Commandmajutsu-git-remote-rename
Rename a remote.
r
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-rebase
Open the Rebase transient. This is one of Majutsu's most powerful features, allowing you to visually select sources and destinations.
R
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-restore
Open the Restore transient for undoing changes.
R
  • KindCommand binding
  • InterfaceSparse transient
  • Commandmajutsu-sparse-reset
Reset to all files (jj sparse reset).
r
  • KindCommand binding
  • InterfaceWorkspace transient
  • Commandmajutsu-workspace-root
Show and copy the current workspace root.
r
  • KindTransient argument
  • InterfaceDiff transient
Select revisions to diff (--revisions). Can specify multiple revisions or a revset like B::D.
r / -r / c
  • KindTransient argument
  • InterfaceMetaedit transient
Toggle revisions at point or in the active region, read a revset, or clear the visual revision selections. Multiple revisions are supported.
r / -r / c
  • KindTransient argument
  • InterfaceSign and Unsign transients
Toggle revisions at point or in the active region, read a revset, or clear the visual revision selections.
RET
  • KindCommand binding
  • InterfaceAnnotate buffer
  • Modemajutsu-annotate-read-only-mode
  • ScopeVanilla
  • Commandmajutsu-annotate-show-commit
Show the chunk's revision diff.
RET
  • KindCommand binding
  • InterfaceDiff buffer
  • Modemajutsu-diff-mode
  • Commandmajutsu-diff-visit-file
Visit the appropriate version of the file at point. For working copy diffs, added/context lines visit the workspace file while removed lines visit the parent-side blob. For committed changes, it visits the blob at the corresponding side.
s
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-set
Set or move an existing bookmark to the current revision.
S
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-split
Open the Split transient. This allows you to split a revision into multiple parts.
s
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-squash
Open the Squash transient. You can select multiple source revisions (--from) to squash into a destination (--into).
s
  • KindCommand binding
  • InterfaceTag transient
  • Commandmajutsu-tag-set
Set tag(s). Uses completion and allows new names.
s / S
  • KindCommand binding
  • InterfaceSparse transient
  • Commandsmajutsu-sparse-set,majutsu-sparse-set-clear
Set patterns by appending, or replace the entire set after clearing it first.
S-SPC
  • KindCommand binding
  • InterfaceAnnotate buffer
  • Modemajutsu-annotate-read-only-mode
  • Commandmajutsu-annotate-show-or-scroll-down
Scroll the diff window down if it is already open.
SPC
  • KindCommand binding
  • InterfaceAnnotate buffer
  • Modemajutsu-annotate-read-only-mode
  • ScopeVanilla
  • Commandmajutsu-annotate-show-or-scroll-up
Scroll the diff window up if it is already open.
t
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-track
Track a remote bookmark to create a local one.
t
  • KindCommand binding
  • InterfaceDiff buffer
  • Modemajutsu-diff-mode
  • ScopeVanilla
  • Commandmajutsu-diff-toggle-refine-hunk
Toggle word-level refinement.
T
  • KindCommand binding
  • InterfaceDiff buffer
  • Modemajutsu-diff-mode
  • ScopeVanilla
  • Commandmajutsu-diff-toggle-fontify-hunk
Toggle syntax highlighting within diff hunks. With a prefix argument, cycle between highlighting the current hunk on selection and highlighting all hunks immediately.
u
  • KindCommand binding
  • InterfaceBookmark transient
  • Commandmajutsu-bookmark-untrack
Untrack a remote bookmark.
u
  • KindCommand binding
  • InterfaceGit transient
  • Commandmajutsu-gerrit-upload-transient
Open the Gerrit upload transient.
u
  • KindCommand binding
  • InterfaceRemote Management transient
  • Commandmajutsu-git-remote-set-url-transient
Set remote URLs. With no option, Majutsu prompts for the fetch URL/path positional; use --fetch and/or --push to set them explicitly. In the remote list buffer, the remote at point is used as the default.
u
  • KindCommand binding
  • InterfaceWorkspace transient
  • Commandmajutsu-workspace-update-stale
Update a stale workspace.
u / C-r
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeEvil
  • Commandsmajutsu-undo,majutsu-redo
Undo or redo.
V
  • KindCommand binding
  • InterfaceBlob buffer
  • Modemajutsu-blob-mode
  • ScopeVanilla
  • Commandmajutsu-blob-visit-file
Jump to the workspace version of the same file.
v
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeVanilla
  • Commandmajutsu-evolog
Open the evolution log for the revision at point.
V
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeVanilla
  • Commandmajutsu-revert
Open the Revert transient to apply reverse changes in one or more new revisions.
v
  • KindCommand binding
  • InterfaceWorkspace transient
  • Commandmajutsu-workspace-visit
Visit a workspace by changing default-directory and refreshing Majutsu buffers.
W
  • KindTransient argument
  • InterfaceFetch transient
Save stable fetch options as defaults for this jj repository. Majutsu remembers --remote, --tracked, and --all-remotes, but not one-off --branch or --tag selections.
W
  • KindTransient argument
  • InterfaceGerrit upload transient
Save stable upload options as defaults for this jj repository. Majutsu remembers --remote, --remote-branch, --notify, and --ignore-attention-set, but not revisions, dry-run, metadata, state, or submit-related flags.
W
  • KindTransient argument
  • InterfacePush transient
Save stable push options as defaults for this jj repository. Majutsu remembers sync policy such as --remote, --all, --tracked, --deleted, --allow-empty-description, and --allow-private, but does not remember one-off targets like --bookmark, --tag, --change, --revision, --named, --option, or --dry-run.
W
  • KindTransient argument
  • InterfaceDiff transient
Save the current diff arguments as defaults for this jj repository.
W
  • KindTransient argument
  • InterfaceLog options transient
Save the current log arguments as defaults for this jj repository.
X
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • Commandmajutsu-op-transient
Open the operation dispatcher with log, diff, restore, revert, undo, and redo actions.
x
  • KindCommand binding
  • InterfaceLog buffer
  • Modemajutsu-log-mode
  • ScopeEvil
  • Commandmajutsu-abandon
Remove the revision at point from visible history and rebase its descendants onto its parent(s). With an active region selection, Majutsu abandons all selected revisions. The operation remains recoverable through jj's operation history until that history is pruned.
Z / %
  • KindCommand binding
  • InterfaceMajutsu buffer
  • Modemajutsu-mode
  • ScopeVanilla
  • Commandmajutsu-workspace
Open the workspace transient.
~
  • KindCommand binding
  • InterfaceDiff buffer
  • Modemajutsu-diff-mode
  • ScopeEvil
  • Commandmajutsu-diff-default-context
Reset the context for diff hunks to the default height.