emjupy-mode (notebook buffers)

Key Command Effect
C-c C-c emjupy-execute-cell-and-goto-next Execute, then go to the next cell (making one if this is the last)
S-<return> emjupy-execute-cell-at-point Execute, leaving point where it is
C-c C-e emjupy-execute-cell-at-point Same as S-<return>, for terminals that cannot send it
C-c C-a emjupy-insert-cell-above Insert a new code cell above the current one
C-c C-b emjupy-insert-cell-below Insert a new code cell below the current one
C-c C-k emjupy-delete-cell Delete the cell at point
C-c C-l emjupy-clear-cell-output Discard this cell's output
C-c C-u C-l emjupy-clear-all-outputs Discard every cell's output (asks first)
C-c C-s emjupy-split-cell Split the cell at point in two (clears both outputs)
C-c C-j emjupy-join-cell-above Merge this cell into the one above (clears both outputs)
C-c C-w emjupy-copy-cell Copy the cell, without its output
C-c C-y emjupy-yank-cell Insert the copied cell below, not run
C-c C-t emjupy-cycle-cell-type Toggle the cell between code and markdown
C-c <up> emjupy-move-cell-up Move the cell, and its output, one position earlier
C-c <down> emjupy-move-cell-down Move the cell, and its output, one position later
C-c <prior> emjupy-beginning-of-cell Go to the start of this cell
M-<prior> emjupy-beginning-of-previous-cell Go to the start of the previous cell
M-<next> emjupy-end-of-previous-cell Go to the end of the previous cell
M-<up> emjupy-beginning-of-next-cell Go to the start of the next cell
M-<down> emjupy-end-of-next-cell Go to the end of the next cell
C-c <next> emjupy-end-of-cell Go to the end of this cell's source
C-c C-n emjupy-next-cell Move point to the next cell
C-c C-p emjupy-previous-cell Move point to the previous cell
C-c ' emjupy-edit-cell-externally Edit the cell in the shadow buffer in a real major mode
C-x C-s emjupy-save-notebook Write the notebook back to the server as nbformat v4
M-x emjupy-recover-notebook emjupy-recover-notebook Restore unsaved edits from the recovery copy, after a crash
C-c C-z emjupy-interrupt-kernel Interrupt the running cell; the kernel and its state survive
C-c M-z emjupy-connect-kernel-interactive Pick a running kernel or spawn one, for this notebook only
C-c C-o emjupy-toggle-cell-output Hide or show this cell's output; nothing is discarded (also by clicking the marker)
C-c C-f emjupy-open-output Open the output at point on its own: a plotly figure or HTML in the browser or an xwidget, an image in an image buffer
C-$ emjupy-show-traceback Show the last traceback in its own buffer
C-c C-v emjupy-menu A menu of every command, grouped by what it is for
TAB emjupy-indent-or-cycle Indent as Python does; repeated, cycle through indentations
DEL emjupy-latex-unrender-or-delete On a rendered formula, show its source; elsewhere, delete
C-c C-x C-r emjupy-restart-kernel Restart this notebook's kernel; other notebooks are untouched
C-c C-x C-c emjupy-reconnect-kernel Reopen the socket to the same kernel after a drop; state survives
C-c C-x b emjupy-switch-notebook Switch to another open notebook, labelled by server
C-c C-x s emjupy-status List every open notebook with its server and kernel
C-c C-x l emjupy-login Log in to another server (another ssh tunnel)
C-c C-x C-e emjupy-export-py Export the notebook as a plain .py file
C-c C-x C-l emjupy-re-render Redraw the notebook from the cells

Each command has one binding, so C-h m is a list of what emjupy does rather than a wall of synonyms. Two exceptions: running a cell in place is on S-<return> and also C-c C-e, because many terminals cannot send Shift-RET at all; and DEL is registered under both of its spellings, since keyboards and terminals disagree about which they send.

emjupy-shadow-edit-mode (the C-c ' buffer)

Key Command Effect
C-c C-c emjupy-commit-shadow-edit Write edits back into the notebook cells and return
C-c ' emjupy-commit-shadow-edit Same as C-c C-c
C-c C-k emjupy-abort-shadow-edit Discard edits and return to the notebook

The same keys mean different things in the two buffers: C-c C-c runs the cell in the notebook but commits the edit in the shadow buffer, C-c C-k deletes the cell in the notebook but discards the edit there, and C-c ' opens the shadow buffer from the notebook and commits from it.

Unbound commands (M-x only)

Command Effect
emjupy-open-notebook Open a notebook by path on a given server
emjupy-list-notebooks Prompt with the server's notebook list
emjupy-create-notebook Create a new blank notebook on the server
emjupy-refresh-appearance Re-derive page colours from the theme and redraw

Completion (M-TAB) and eldoc need no emjupy binding: they are wired into the standard hooks and reach the language server through the shadow buffer automatically.

On a widget

Key Does
<left>, <right> Step the number at point: a slider, a bounded field
RET, click Use the control: step, toggle, choose one or several, click a button; on a value, ask for a new one