---
sidebar_position: 2
id: "keybindings"
title: "Key Bindings"
---

import { Kbd, KbdChord } from "@site/src/components/kbd.tsx";
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext.tsx";

<PlatformProvider>

Here's the set of default keybindings available in Wave. It is split into sections.
Some keybindings are always active. Others are only active for certain types of blocks.

Note that these are the MacOS keybindings (they use "Cmd"). For Windows and Linux,
replace "Cmd" with "Alt" (note that "Ctrl" is "Ctrl" on both Mac, Windows, and Linux).

Chords are shown with a + between the keys. You have 2 seconds to hit the 2nd chord key after typing the first key. Hitting Escape after an initial chord key will always be a no-op.

## Global Keybindings

<PlatformSelectorButton />
<div style={{ marginBottom: 20 }}></div>

| Key                                               | Function                                                                                                                                               |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <Kbd k="Cmd:t"/>                                  | Open a new tab                                                                                                                                         |
| <Kbd k="Cmd:n"/>                                  | Open a new block (defaults to a terminal block with the same connection and working directory). Switch to launcher using `app:defaultnewblock` setting |
| <Kbd k="Cmd:d"/>                                  | Split horizontally, open a new block to the right                                                                                                      |
| <Kbd k="Cmd:Shift:d"/>                            | Split vertically, open a new block below                                                                                                               |
| <KbdChord karr={["Ctrl:Shift:s", "ArrowUp"]}/>    | Split vertically, open a new block above                                                                                                               |
| <KbdChord karr={["Ctrl:Shift:s", "ArrowDown"]}/>  | Split vertically, open a new block below                                                                                                               |
| <KbdChord karr={["Ctrl:Shift:s", "ArrowLeft"]}/>  | Split horizontally, open a new block to the left                                                                                                       |
| <KbdChord karr={["Ctrl:Shift:s", "ArrowRight"]}/> | Split horizontally, open a new block to the right                                                                                                      |
| <Kbd k="Cmd:Shift:n"/>                            | Open a new window                                                                                                                                      |
| <Kbd k="Cmd:w"/>                                  | Close the current block                                                                                                                                |
| <Kbd k="Cmd:Shift:w"/>                            | Close the current tab                                                                                                                                  |
| <Kbd k="Cmd:m"/>                                  | Magnify / Un-Magnify the current block                                                                                                                 |
| <Kbd k="Cmd:g"/>                                  | Open the "connection" switcher                                                                                                                         |
| <Kbd k="Cmd:i"/>                                  | Refocus the current block (useful if the block has lost input focus)                                                                                   |
| <Kbd k="Ctrl:Shift"/>                             | Show block numbers                                                                                                                                     |
| <Kbd k="Ctrl:Shift:1-9"/>                         | Switch to block number                                                                                                                                 |
| <Kbd k="Ctrl:Shift:Arrows"/>                      | Move left, right, up, down between blocks                                                                                                              |
| <Kbd k="Ctrl:Shift:k"/>                           | Replace the current block with a launcher block                                                                                                        |
| <Kbd k="Cmd:1-9"/>                                | Switch to tab number                                                                                                                                   |
| <Kbd k="Cmd:["/>                                  | Switch tab left                                                                                                                                        |
| <Kbd k="Cmd:]"/>                                  | Switch tab right                                                                                                                                       |
| <Kbd k="Cmd:Ctrl:1-9"/>                           | Switch to workspace number                                                                                                                             |
| <Kbd k="Cmd:Shift:r"/>                            | Refresh the UI                                                                                                                                         |
| <Kbd k="Ctrl:Shift:i"/>                           | Toggle terminal multi-input mode                                                                                                                       |

## File Preview Keybindings

| Key                                       | Function                                                                                           |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------- |
| <Kbd k="[text]"/>                         | Any regular character (e.g. "a", "b") will filter the file list                                    |
| <Kbd k="Escape"/>                         | Clears the filter                                                                                  |
| <Kbd k="ArrowUp"/> / <Kbd k="ArrowDown"/> | Change file selection up/down                                                                      |
| <Kbd k="Enter"/>                          | Open the currently selected file/directory                                                         |
| <Kbd k="Cmd:ArrowUp"/>                    | Move "up" a directory (parent directory)                                                           |
| <Kbd k="Cmd:ArrowLeft"/>                  | Back, move to the previously selected file/directory                                               |
| <Kbd k="Cmd:ArrowRight"/>                 | Forward (opposite of back)                                                                         |
| <Kbd k="Cmd:o"/>                          | Open a new file (accepts relative paths to the current directory)                                  |
| <Kbd k="Cmd:s"/>                          | When file editor is open, save file                                                                |
| <Kbd k="Cmd:e"/>                          | For files that can be previewed or edited (markdown, CSVs), switches between preview and edit mode |
| <Kbd k="Cmd:r"/>                          | When file editor is open, revert changes                                                           |

## Web Keybindings

| Key                       | Function                                                      |
| ------------------------- | ------------------------------------------------------------- |
| <Kbd k="Cmd:l"/>          | Focus the URL input bar                                       |
| <Kbd k="Escape"/>         | When the URL input bar is focused, will focus the web content |
| <Kbd k="Cmd:r"/>          | Reload webpage                                                |
| <Kbd k="Cmd:ArrowLeft"/>  | Back                                                          |
| <Kbd k="Cmd:ArrowRight"/> | Forward                                                       |
| <Kbd k="Cmd:f"/>          | Find in webpage                                               |
| <Kbd k="Cmd:o"/>          | Open a bookmark                                               |

## WaveAI Keybindings

| Key              | Function      |
| ---------------- | ------------- |
| <Kbd k="Cmd:l"/> | Clear AI Chat |

## Terminal Keybindings

| Key                     | Function         |
| ----------------------- | ---------------- |
| <Kbd k="Ctrl:Shift:c"/> | Copy             |
| <Kbd k="Ctrl:Shift:v"/> | Paste            |
| <Kbd k="Cmd:k"/>        | Clear Terminal   |
| <Kbd k="Cmd:f"/>        | Find in Terminal |

## Customizeable Systemwide Global Hotkey

Wave allows setting a custom global hotkey to focus your most recent window from anywhere in your computer. For more information on this, see [the config docs](./config#customizable-systemwide-global-hotkey).

</PlatformProvider>
