---
title: Keyboard Shortcuts
---

<Warning>
As of September 2024, this version of Wave Terminal is deprecated. To learn more about our new version (>=v0.8.0), check out [www.waveterm.dev](https://www.waveterm.dev). To find documentation for our new version, check out [docs.waveterm.dev](https://docs.waveterm.dev).
</Warning>

Most of Wave's global keyboard shortcuts use Cmd/Alt because we generally try to reserve the Ctrl key for interacting with terminal commands directly or for system shortcuts like Copy, Paste, Select All, etc.  The shortcuts listed in the chart below are for MacOS.  Linux/Windows keybindings use `Alt` in place of `Cmd`.

<Tip>
Wave allows you to personalize your keyboard shortcuts to suit your preferences and workflow.
To learn more about customizing your keyboard shortcuts, please refer to our [Custom Keybindings Guide](/reference/customKeybindings).
</Tip>

## Global Keys

* **Cmd-[digit]** - select nth tab
* **Cmd-[** - move one tab left
* **Cmd-]** - move one tab right
* **Cmd-Ctrl-S** - toggle sidebar on/off
* **Cmd-Control-[digit]** - select nth workspace
* **Cmd-DownArrow or Cmd-PageDown** - move selected command down
* **Cmd-H** - open command history view
* **Cmd-I** - focus the command-input
* **Cmd-L** - focus the selected line
* **Cmd-Option-I** - opens the chrome developer tool menu
* **Cmd-P** - open tab switcher (quickly switch to a new tab by name)
* **Cmd-R** - restart currently selected command (command does not need to be focused, just selected)
* **Cmd-Shift-R** - restart last visible command in current tab
* **Cmd-T** - open new tab
* **Cmd-UpArrow or Cmd-PageUp** - move selected command up
* **Cmd-W** - close the current tab
* **Esc** - close/toggle extra info panel (escape will also close or cancel most modals)

## When Command Input is Focused

* **Cmd-E** - toggle the input box size between 1 and 5 lines
* **Ctrl-C** - clear command input
* **Ctrl-N** - next history item
* **Ctrl-P** - previous history item
* **Ctrl-R** - open command history view
* **Ctrl-Space** - open AI help for writing commands
* **Ctrl-U** - cuts entire line to left of cursor (from readline)
* **Ctrl-W** - cuts word to left of cursor (from readline)
* **Ctrl-Y** - paste (from readline)
* **DownArrow** - next command in history
* **Enter** - runs the current command, or if input is empty will scroll tab to last command
* **Esc** - close/toggle extra info panel
* **Shift-DownArrow** - move cursor down in input box (also extends selection)
* **Shift-Enter** - expands the text input (newlines do not require escapes)
* **Shift-UpArrow** - move cursor up in input box (also extends selection)
* **Tab** - runs command completion, press again to get a list of suggestions
* **UpArrow** - last command in history

## When Command History is Focused 

* **Cmd-R** - toggle between only this connection or any connection
* **Cmd-S** - change scope of history (tab, workspace, global)
* **DownArrow** - next command in history
* **Esc** or **Cmd-G** - close command history
* **UpArrow** - last command in history
normal characters - text search

## When Command is Focused

* **Ctrl-Shift-C** - copy
* **Ctrl-Shift-V** - paste

## When Command is Focused (when command is not running)

Note that these keybindings only function when the command is no longer running.  When a command is still running these keys are passed instead to the running command.

* **Cmd-D** - delete command block
* **Down-Arrow** - scroll down (when
* **Page-Down** - scroll one page down
* **Page-Up** - scroll one page up
* **Up-Arrow** - scroll up

## When Codeedit is Open

* **Cmd-D** - closes the code editor
* **Cmd-P** - toggles preview in the code editor
* **Cmd-S** - saves in the code editor

## When AI Help for Writing Commands is Open

* **Ctrl-L** - clear chat history
* **Enter** - submit question, or if a command block is selected, replace the current command with the text from the command block
* **ESC** - close help
* **DownArrow** - select next command block
* **UpArrow** - select previous command block
