In normal “character” mode most key-presses result in characters being send to the process (shell), but certain special key-combinations are handled specially. This is covered here.
The line-editing mode has short-cuts suitable for editing text, while the read-only Paging mode mode has short-cuts useful for navigating around in the buffer, including making selections.
save-as-html
)Save the display to a file.
input-mode-cycle
)Cycle between the input modes: automatic, to line, to character, and back. The resulting mode is displayed temporarily.
Enter Paging mode.
find-text)
Search for text in the buffer, entering find-text mode.
Show a popup with useful information about version, mode, size, or other data. This is shown if you press and release the Ctrl key without pressing some other key. Easiest way to make the popup go away is to press Ctrl again.
toggle-fullscreen
)Toggle full-screen mode.
toggle-fullscreen-current-window
)(Not for Electron or Qt.) Toggle full-screen mode for the current sub-window.
focus-menubar
)Open the first submenu of the menubar. You can use keyboard shortcuts to navigate between menu-items. To select an item, type Enter; to cancel type Escape.
toggle-developer-tools
)Toggle Developer Window, useful for debugging or examining the state of the Document Object Model.
close-pane)
Close the current pane (sub-window).
quit-domterm)
Close all windows, and exit the domterm backend server. This kills any detached jobs.
copy-text
)Copy the selection to the clipboard.
It is copied as both plain text (text/plain
)
and formatted HTML (text/html
) in case the receiving
application can paste the latter.
(Ctrl+C also works in line-editing mode.)
paste-text
)Paste text from the clipboard. (Ctrl+V also works in line-editing mode.)
cut-text
)“Cut”: Restricts the selection to the current input area, copies that restricted selection to the clipboard, and then deletes the restricted selection. (In character mode, the deletion is implemented by sending the appropriate number of Delete/Backspace characters to the application.)
After an input prompt, assumimg shell integration is active, the the following can also be used:
copy-text-maybe
)If there is a non-empty selection and this is not macOS and we are input-reading mode with shell integration, copy the selection to the clipboard. Otherwise, send Ctrl+C literally to the process (which traditionally interrupts it).
paste-text-maybe
)Paste text from the clipboard, assuming we are input-reading mode with shell integration. Otherwise send Ctrl+V literally to the process.
The following commands change the effective window scale
by zooming in or out, relative to the window-scale
setting.
The entire top window is zoomed, icnluding sub-windows, titlebars,
and menus (unless you’re using system titlebars or menus).
window-zoom-in
)Zoom in (makes text bigger).
window-zoom-out
)Zoom out (makes text smaller).
window-zoom-reset
)“Un-zoom” to normal size, as specified by the window-scale
setting.
The following commands change the effective pane scale
by zooming in or out, relative to the pane-scale
setting.
pane-zoom-in
)Zoom in (makes text bigger).
pane-zoom-out
)Zoom out (makes text smaller).
pane-zoom-reset
)“Un-zoom” to normal size, as specified by the pane-scale
setting
multiplied by the effective window scale.
In paging and edit modes, these may be modified by a repeat count. Otherwise, count defaults to 1.
scroll-page-up
)scroll-page-down
)Scroll count “pages” up or down, respectively. (Specifically, the viewport height times count minus a height of one line.) (On Mac keyboards without PageUp or PageDown use Fn+Up or Fn+Down instead.)
scroll-line-up
)scroll-line-down
)Scroll count lines up or down, respectively.
scroll-top
)Scroll to top.
scroll-bottom
)Scroll to bottom.
See also the bindings for View mode - Paging and Pausing mode.
The prefix key Ctrl+Shift+A when followed by some other key controls sessions and windows.
Create a new terminal in a new tab.
Create a new terminal in a new pane (sub-window). The new pane is create to the right or below the current pane, depending on space.
Create a new terminal pane to the left of the current one.
Create a new terminal pane to the right of the current one.
Create a new terminal pane above the current one.
Create a new terminal pane below the current one.
Select the previous pane or tab.
Select the next pane or tab.
Detach from current session and close the (sub-)window.
You can override the keymap with the keymap.line-edit
setting.
This is a map from keystroke strings (quoted or unquoted,
followed by an unquoted colon)
to action names (quoted or unquoted strings).
The entries are separated by semi-colons or newlines.
To enable “standard” handling of Ctrl+V for Paste and Ctrl+C for Copy (while still signalling interrupt when there is no selection) do:
keymap.master = | "Ctrl+C": copy-text-or-interrupt | "Ctrl+V": paste-text