Keyboard shortcuts

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.

Ctrl+Shift+C (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.)

Ctrl+Shift+V (paste-text)
Shift+Insert (Electron and Qt only)

Paste text from the clipboard. (Ctrl+V also works in line-editing mode.)

Ctrl+Shift+X (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.)

Ctrl+Shift+S (save-as-html)

Save the display to a file.

Ctrl+Shift+L (input-mode-cycle)

Cycle between the input modes: automatic, to line, to character, and back. The resulting mode is displayed temporarily.


Enter Paging 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.

The following are implemented by most browsers, rather than DomTerm, so it may not work on all browsers.


Zoom in (makes text bigger). (Does not work in atom-domterm.)


Zoom out (makes text smaller). (Does not work in atom-domterm.)


“Un-zoom” to normal size.

F11 (toggle-fullscreen)

Toggle full-screen mode.

Shift+F11 (toggle-fullscreen-current-window)

(Not for Electron or Qt.) Toggle full-screen mode for the current sub-window.


Toogle Developer Window, useful for debugging or examining the state of the Document Object Model.


In paging and edit modes, these may be modified by a repeat count. Otherwise, count defaults to 1.

Ctrl+Shift+PageUp (scroll-page-up)
Ctrl+Shift+PageDown (scroll-page-down)

Scroll count “pages” up or down, respectively. (Specifically, the viewport height times count minus a height of one line.)

Ctrl+Shift+Up (scroll-line-up)
Ctrl+Shift+Down (scroll-line-down)

Scroll count lines up or down, respectively.

Ctrl+Shift+Home (scroll-top)

Scroll to top.

Ctrl+Shift+End (scroll-bottom)

Scroll to bottom.

See also the bindings for Paging mode.

Managing subwindows

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.

Ctrl+Shift+A Ctrl+Left

Create a new terminal pane to the left of the current one.

Ctrl+Shift+A Ctrl+Right

Create a new terminal pane to the right of the current one.

Ctrl+Shift+A Ctrl+Up

Create a new terminal pane above the current one.

Ctrl+Shift+A Ctrl+Down

Create a new terminal pane below the current one.

Ctrl+Shift+A Left

Select the previous pane or tab.

Ctrl+Shift+A Right

Select the next pane or tab.

Ctrl+Shift+A d

Detach from current session and close the (sub-)window.

Changing keybindings

You can override the keymap (map from keystrokes to action). The keymap.line-edit setting is a list (separated by commas or newlines), where each item is a quoted keystroke string, followed by a colon, followed by an action name. An action name is a string, but quotes are optional.

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