-
Notifications
You must be signed in to change notification settings - Fork 7.6k
User Key Bindings
This page describes how user can update key bindings in Brackets.
Key bindings for default commands or extensions can be overridden or removed.
Currently, only key bindings for commands can be updated -- not editor bindings currently handled by the CodeMirror keymap. Key bindings cannot be modified for special commands: cut, copy, paste, undo, redo, or select all.
Use Debug > Open User Key Map
to open the keymap.json
in Brackets so it can be edited. If the file does not already exist, then it will be automatically created.
Changes to key bindings are applied immediately on File Save.
The keymap.json
file is located in the the user data folder. The user data folder is located at:
- Mac:
~/Library/Application Support/Brackets
- Win XP:
C:\Documents and Settings\<username>\Application Data\Brackets
-- (aka%appdata%\Brackets
) - Win Vista/7/8:
C:\Users\<username>\AppData\Roaming\Brackets
-- (aka%appdata%\Brackets
) - Linux:
~/.config/brackets
-- (aka$XDG_CONFIG_HOME/brackets
)
The JSON data format is:
{
"overrides": {
"<key>": "<command-id>"
[, "<key>": "<command-id>"]
}
}
Where:
<key>
is a unique key.
<command-id>
is the command id string to assign, or null
to remove a key binding.
Modifier keys are operating system specific, so on Mac use Cmd
versus Ctrl
on Windows. The following table lists all the valid modifier keys and other supported key names.
Windows/Linux | Mac | Notes |
---|---|---|
Ctrl | Cmd | |
Alt | Opt | |
Shift | Shift | |
Ctrl | Control key only available on Mac | |
Up | Up | displayed as ↑ on mac |
Down | Down | displayed as ↓ on mac |
Left | Left | displayed as ← on mac |
Right | Right | displayed as → on mac |
Backspace | Backspace | |
Enter | Enter | |
Tab | Tab | |
Space | Space | |
PageUp | PageUp | |
PageDown | PageDown | |
Home | Home | |
End | End | |
Insert | Insert | |
Delete | Delete |
Command ID can be found in this file, but it does not have any command ID from the extensions. So it is better to install "Display Shortcuts" extension from Extension Manager. See https://github.com/redmunds/brackets-display-shortcuts for how to use the extension to show the key bindings.
Currently, the shortcuts to these commands cannot be updated or re-assigned:
- key:
Ctrl/Cmd-A
, command:"edit.selectAll"
- key:
Ctrl/Cmd-C
, command:"edit.copy"
- key:
Ctrl/Cmd-V
, command:"edit.paste"
- key:
Ctrl/Cmd-X
, command:"edit.cut"
- key:
Ctrl/Cmd-Z
, command:"edit.undo"
- key:
Ctrl/Cmd-Y, Cmd-Shift-Z
, command:"edit.redo"
These shortcuts cannot be overridden on Mac:
"Cmd-,"
"Cmd-H"
"Cmd-Alt-H"
"Cmd-M"
"Cmd-Q"
"overrides": {
"Cmd-Shift-L": "edit.splitSelIntoLines",
"Ctrl-Shift-Up": "edit.addCursorToPrevLine",
"Ctrl-Shift-Down": "edit.addCursorToNextLine",
"Cmd-Shift-D": "edit.duplicate",
"Ctrl-Shift-K": "edit.deletelines",
"Cmd-L": "edit.selectLine",
"Cmd-D": "cmd.addNextMatch",
"Cmd-Opt-1": "cmd.splitViewNone",
"Cmd-Opt-2": "cmd.splitViewVertical",
"Cmd-Opt-Shift-2": "cmd.splitViewHorizontal",
"Ctrl-G": "navigate.gotoLine",
"Cmd-Opt-Right": "navigate.nextDoc",
"Cmd-Opt-Left": "navigate.prevDoc",
"Cmd-R": "navigate.gotoDefinition",
"Cmd-P": "navigate.quickOpen"
}
"overrides": {
"Ctrl-Shift-L": "edit.splitSelIntoLines",
"Ctrl-Alt-Up": "edit.addCursorToPrevLine",
"Ctrl-Alt-Down": "edit.addCursorToNextLine",
"Ctrl-Shift-D": "edit.duplicate",
"Ctrl-Shift-K": "edit.deletelines",
"Ctrl-D": "cmd.addNextMatch",
"Alt-Shift-1": "cmd.splitViewNone",
"Alt-Shift-2": "cmd.splitViewVertical",
"Alt-Shift-8": "cmd.splitViewHorizontal",
"Ctrl-R": "navigate.gotoDefinition",
"Ctrl-P": "navigate.quickOpen"
}