zed/docs/src/configuring_zed__key_bindings.md
Marshall Bowers 3220986fc9
Format docs with Prettier (#8134)
This PR formats the docs with Prettier.

Release Notes:

- N/A
2024-02-21 13:21:22 -05:00

29 KiB

Zed can be configured via a simple JSON file located at ~/.config/zed/keymap.json.

Predefined keymaps

We have a growing collection of pre-defined keymaps in zed repository's keymaps folder.

A selection of base keymaps is available in the welcome screen under the "Choose a keymap" option.

Additionally, you can change the base keymap from the command palette - ⌘-Shift-P - by selecting the "welcome: toggle base keymap selector" command.

Custom key bindings

Accessing custom key bindings

You can open keymap.json via + K, + S, the command palette, or the Zed > Settings > Open Key Bindings application menu item.

Adding a custom key binding

To customize key bindings, specify a context and the list of bindings to set. Re-mapping an existing binding will clobber the existing binding in favor of the custom one.

An example of adding a set of custom key bindings:

[
  {
    "context": "Editor",
    "bindings": {
      "ctrl-w": "editor::SelectLargerSyntaxNode",
      "ctrl-shift-W": "editor::SelectSmallerSyntaxNode",
      "ctrl-c": "editor::Cancel"
    }
  }
]

You can see more examples in Zed's default.json

There are some key bindings that can't be overridden; we are working on an issue surrounding this.

Special Keyboard Layouts

Some people have unique and custom keyboard layouts.

For example, @TomPlanche having a French keyboard, had to type Shift-Alt-( in order to have a simple [ so he made a simple layout with those 'rules': ù -> [, backtick -> ], Alt-[ (where [ is the old ù) -> {, Alt-] -> }. But, it was impossible to take into account the { and } when he was typing so now, in order to ignore a binding, he can add null to the binding:

[
  {
    "context": "Editor",
    "bindings": {
      "alt-[": null,
      "alt-]": null
    }
  }
]

All key bindings

Global

Command Target Default Shortcut
Open recent Branches Alt + + B
Toggle focus Collab Panel + Shift + C
Toggle inlay hints Editor Control + :
Cancel Menu Control + C
Cancel Menu Escape
Confirm Menu Enter
Secondary confirm Menu + Enter
Select first Menu + Up
Select first Menu Page Up
Select first Menu Shift + Page Down
Select first Menu Shift + Page Up
Select last Menu + Down
Select last Menu Page Down
Select next Menu Control + N
Select next Menu Down
Select prev Menu Control + P
Select prev Menu Up
Show context menu Menu Control + Enter
Activate next item Pane Alt + + Right
Activate next item Pane + }
Activate prev item Pane Alt + + Left
Activate prev item Pane + {
Close active item Pane + W
Close all items Pane + K, + W
Close clean items Pane + K, U
Close inactive items Pane Alt + + T
Open recent Projects Alt + + O
Toggle focus Terminal Panel Control + `
Activate pane in direction down Workspace + K, + Down
Activate pane in direction left Workspace + K, + Left
Activate pane in direction right Workspace + K, + Right
Activate pane in direction up Workspace + K, + Up
Close inactive tabs and panes Workspace Control + Alt + + W
Close window Workspace + Shift + W
Follow next collaborator Workspace Control + Alt + + F
New file Workspace + N
New terminal Workspace Control + ~
New window Workspace + Shift + N
Open Workspace + O
Save Workspace + S
Save as Workspace + Shift + S
Swap pane in direction Workspace + K, Shift + Down
Swap pane in direction Workspace + K, Shift + Left
Swap pane in direction Workspace + K, Shift + Right
Swap pane in direction Workspace + K, Shift + Up
Toggle zoom Workspace Shift + Escape
Debug elements Zed + Alt + I
Decrease buffer font size Zed + `
Hide Zed + H
Hide others Zed Alt + + H
Increase buffer font size Zed + +
Increase buffer font size Zed + =
Minimize Zed + M
Open settings Zed + ,
Quit Zed + Q
Reset buffer font size Zed + 0
Toggle full screen Zed Control + + F

Editor

Command Target Default Shortcut
Inline assist Assistant Control + Enter
Add selection above Editor + Alt + Up
Add selection above Editor + Control + P
Add selection below Editor + Alt + Down
Add selection below Editor + Control + N
Backspace Editor Backspace
Backspace Editor Control + H
Backspace Editor Shift + Backspace
Cancel Editor Escape
Confirm code action Editor Enter
Confirm completion Editor Enter
Confirm completion Editor Tab
Confirm rename Editor Enter
Context menu first Editor Page Up
Context menu last Editor Page Down
Context menu next Editor Control + N
Context menu next Editor Down
Context menu prev Editor Control + P
Context menu prev Editor Up
Copy Editor + C
Cut Editor + X
Cut to end of line Editor Control + K
Delete Editor Control + D
Delete Editor Delete
Delete line Editor Control + Shift + K
Delete to beginning of line Editor + Backspace
Delete to end of line Editor + Delete
Delete to next subword end Editor Control + Alt + D
Delete to next subword end Editor Control + Alt + Delete
Delete to next word end Editor Alt + D
Delete to next word end Editor Alt + Delete
Delete to previous subword start Editor Control + Alt + Backspace
Delete to previous subword start Editor Control + Alt + H
Delete to previous word start Editor Alt + Backspace
Delete to previous word start Editor Alt + H
Duplicate line Editor + Shift + D
Find all references Editor Alt + Shift + F12
Fold Editor Alt + + [
Format Editor + Shift + I
Go to definition Editor F12
Go to definition split Editor Alt + F12
Go to diagnostic Editor F8
Go to hunk Editor + F8
Go to prev diagnostic Editor Shift + F8
Go to prev hunk Editor + Shift + F8
Go to type definition Editor + F12
Go to type definition split Editor Alt + + F12
Hover Editor + K, + I
Indent Editor + ]
Join lines Editor Control + J
Move down Editor Control + N
Move down Editor Down
Move left Editor Control + B
Move left Editor Left
Move line down Editor Control + + Down
Move line up Editor Control + + Up
Move page down Editor Control + V
Move page down Editor Shift + Page Down
Move page up Editor Alt + V
Move page up Editor Shift + Page Up
Move right Editor Control + F
Move right Editor Right
Move to beginning Editor + Up
Move to beginning of line Editor + Left
Move to beginning of line Editor Control + A
Move to beginning of line Editor Home
Move to enclosing bracket Editor Control + M
Move to end Editor + Down
Move to end of line Editor + Right
Move to end of line Editor Control + E
Move to end of line Editor End
Move to end of paragraph Editor Control + Down
Move to next subword end Editor Control + Alt + F
Move to next subword end Editor Control + Alt + Right
Move to next word end Editor Alt + F
Move to next word end Editor Alt + Right
Move to previous subword start Editor Control + Alt + B
Move to previous subword start Editor Control + Alt + Left
Move to previous word start Editor Alt + B
Move to previous word start Editor Alt + Left
Move to start of paragraph Editor Control + Up
Move up Editor Control + P
Move up Editor Up
Next screen Editor Control + L
Open excerpts Editor Alt + Enter
Outdent Editor + [
Page down Editor Page Down
Page up Editor Page Up
Paste Editor + V
Redo Editor + Shift + Z
Redo selection Editor + Shift + U
Rename Editor F2
Reveal in finder Editor Alt + + R
Select all Editor + A
Select all matches Editor + Shift + L
Select down Editor Control + Shift + N
Select down Editor Shift + Down
Select larger syntax node Editor Alt + Up
Select left Editor Control + Shift + B
Select left Editor Shift + Left
Select line Editor + L
Select next Editor + D
Select next Editor + K, + D
Select previous Editor + K, Control + + D
Select previous Editor Control + + D
Select right Editor Control + Shift + F
Select right Editor Shift + Right
Select smaller syntax node Editor Alt + Down
Select to beginning Editor + Shift + Up
Select to beginning of line Editor + Shift + Left
Select to beginning of line Editor Control + Shift + A
Select to beginning of line Editor Shift + Home
Select to end Editor + Shift + Down
Select to end of line Editor + Shift + Right
Select to end of line Editor Control + Shift + E
Select to end of line Editor Shift + End
Select to end of paragraph Editor Control + Shift + Down
Select to next subword end Editor Control + Alt + Shift + F
Select to next subword end Editor Control + Alt + Shift + Right
Select to next word end Editor Alt + Shift + F
Select to next word end Editor Alt + Shift + Right
Select to previous subword start Editor Control + Alt + Shift + B
Select to previous subword start Editor Control + Alt + Shift + Left
Select to previous word start Editor Alt + Shift + B
Select to previous word start Editor Alt + Shift + Left
Select to start of paragraph Editor Control + Shift + Up
Select up Editor Control + Shift + P
Select up Editor Shift + Up
Show character palette Editor Control + + Space
Show completions Editor Control + Space
Tab Editor Tab
Tab prev Editor Shift + Tab
Toggle code actions Editor + .
Toggle comments Editor + /
Transpose Editor Control + T
Undo Editor + Z
Undo selection Editor + U
Unfold lines Editor Alt + + ]

Editor (Full Only)

Command Target Default Shortcut
Quote selection Assistant + >
Deploy Buffer Search + E
Deploy Buffer Search + F
Next suggestion Copilot Alt + ]
Previous suggestion Copilot Alt + [
Suggest Copilot Alt + \
Newline Editor Enter
Newline Editor Shift + Enter
Newline above Editor + Shift + Enter
Newline below Editor + Enter
Toggle soft wrap Editor Alt + Z
Toggle Go To Line Control + G
Toggle Outline + Shift + O

Editor (Auto Height Only)

Command Target Default Shortcut
Newline Editor Control + Enter
Newline below Editor Control + Shift + Enter

Pane

Command Target Default Shortcut
Activate item 1 Pane Control + 1
Activate item 2 Pane Control + 2
Activate item 3 Pane Control + 3
Activate item 4 Pane Control + 4
Activate item 5 Pane Control + 5
Activate item 6 Pane Control + 6
Activate item 7 Pane Control + 7
Activate item 8 Pane Control + 8
Activate item 9 Pane Control + 9
Activate last item Pane Control + 0
Go back Pane Control + -
Go forward Pane Control + _
Reopen closed item Pane + Shift + T
Split down Pane + K, Down
Split left Pane + K, Left
Split right Pane + K, Right
Split up Pane + K, Up
Toggle filters Project Search Alt + + F
Toggle focus Project Search + F
Toggle focus Project Search + Shift + F
Activate regex mode Search Alt + + G
Activate semantic mode Search Alt + + S
Activate text mode Search Alt + + X
Cycle mode Search Alt + Tab
Select all matches Search Alt + Enter
Select next match Search + G
Select prev match Search + Shift + G
Toggle case sensitive Search Alt + + C
Toggle replace Search + Shift + H
Toggle whole word Search Alt + + W
Command Target Default Shortcut
Dismiss Buffer Search Escape
Focus editor Buffer Search Tab
Cycle mode Search Alt + Tab
Next history query Search Down
Previous history query Search Up
Replace all Search Command + Enter
Replace next Search Enter
Select all matches Search Alt + Enter
Select next match Search Enter
Select prev match Search Shift + Enter

Workspace

Command Target Default Shortcut
Toggle focus Assistant + ?
Toggle Command Palette + Shift + P
Deploy Diagnostics + Shift + M
Toggle File Finder + P
Toggle Language Selector + K, M
Toggle focus Project Panel + Shift + E
Toggle Project Symbols + T
Toggle Theme Selector + K, + T
Activate pane 1 Workspace + 1
Activate pane 2 Workspace + 2
Activate pane 3 Workspace + 3
Activate pane 4 Workspace + 4
Activate pane 5 Workspace + 5
Activate pane 6 Workspace + 6
Activate pane 7 Workspace + 7
Activate pane 8 Workspace + 8
Activate pane 9 Workspace + 9
Close all docks Workspace Alt + + Y
New search Workspace + Shift + F
Save all Workspace + Alt + S
Toggle bottom dock Workspace + J
Toggle left dock Workspace + B
Toggle right dock Workspace + R
Open keymap Zed + K, + S

Project Panel

Command Target Default Shortcut
Collapse selected entry Project Panel Left
Copy Project Panel + C
Copy path Project Panel + Alt + C
Copy relative path Project Panel Alt + + Shift + C
Cut Project Panel + X
Delete Project Panel Backspace
Expand selected entry Project Panel Right
New directory Project Panel Alt + + N
New file Project Panel Command + N
New search in directory Project Panel Alt + Shift + F
Open Project Panel Space
Paste Project Panel + V
Rename Project Panel Enter
Rename Project Panel F2
Reveal in finder Project Panel Alt + + R
Command Target Default Shortcut
Search in new Project Search + Enter
Toggle focus Project Search Escape
Activate regex mode Search Alt + + G
Activate semantic mode Search Alt + + S
Activate text mode Search Alt + + X
Cycle mode Search Alt + Tab
Next history query Search Down
Previous history query Search Up
Replace all Search Command + Enter
Replace next Search Enter
Toggle replace Search + Shift + H

Terminal

Command Target Default Shortcut
Clear Terminal + K
Copy Terminal + C
Delete line Terminal + Backspace
Move to beginning of line Terminal + Left
Move to end of line Terminal + Right
Move to next word end Terminal Alt + Right
Move to previous word start Terminal Alt + Left
Paste Terminal + V
Show character palette Terminal Control + + Space

Assistant Editor

Command Target Default Shortcut
Assist Assistant + Enter
Cycle message role Assistant Control + R
Quote selection Assistant + >
Split Assistant Shift + Enter
Save Workspace + S