Action | macOS | Windows & Linux | Same? |
---|---|---|---|
Next tab in group | Ctrl+PgDn or Alt+Cmd+Right | Ctrl+PgDn | Yes |
Previous tab in group | Ctrl+PgUp or Alt+Cmd+Left | Ctrl+PgUp | Yes |
Go to file in project | Cmd+P or Cmd+T | Ctrl+P | Cmd/Ctrl swap |
Go to text in file | Cmd+R | Ctrl+R | Cmd/Ctrl swap |
Open file | Cmd+O | Ctrl+O | Cmd/Ctrl swap |
New tab | Cmd+N | Ctrl+N | Cmd/Ctrl swap |
Close tab | Cmd+W | Ctrl+W | Cmd/Ctrl swap |
Re-open last closed | Shift+Cmd+T | Shift+Ctrl+T | Cmd/Ctrl swap |
Command palette | Shift+Cmd+P | Shift+Ctrl+P | Cmd/Ctrl swap |
Quick switch project | Ctrl+Cmd+P | Ctrl+Alt+P | No |
Cursor to end of line | Cmd+Right | End | No |
Cursor to start of line | Cmd+Left | Home | No |
Cursor to end of file | Cmd+Up or End (Fn+Right) | Ctrl+End | No |
Cursor to start of file | Cmd+Down or Home (Fn+Left) | Ctrl+Home | No |
Cursor to end of word | Alt+Right | Ctrl+Right | No |
Cursor to start of word | Alt+Left | Ctrl+Left | No |
Cursor to end of subword | Doesn’t work | Alt+Right | No |
Cursor to start of subword | Doesn’t work | Alt+Left | No |
Swap lines | Ctrl+Cmd+Up/Down | ||
Focus on group | Ctrl+1/2/3/4 | Ctrl+1/2/3/4 | Yes |
Move tab to group | Ctrl+Shift+1/2/3/4 | Ctrl+Shift+1/2/3/4 | Yes |
Number of groups | Doesn’t work | Shift+Alt+1/2/3/4/5 | No |
Scroll page down | PgDn (Fn+Down) | PgDn | Yes |
Scroll page up | PgUp (Fn+Up) | PgUp | Yes |
Save | Cmd+S | Ctrl+S | Cmd/Ctrl swap |
Save all | Alt+Cmd+S | None | No |
Undo | Cmd+Z | Ctrl+Z | Cmd/Ctrl swap |
Redo | Shift+Cmd+Z | Ctrl+Y | No |
Find and Replace | Alt+Cmd+F | Ctrl+H | No |
Toggle side bar | Cmd+K, Cmd+B | Ctrl+K, Ctrl+B | Cmd/Ctrl swap |
Toggle spell check | F6 (Fn+F6) | F6 | Yes |
Toggle full screen | Ctrl+Cmd+F | F11 | No |
Indent | Cmd+[ | Ctrl+[ | Cmd/Ctrl swap |
Outdent | Cmd+] | Ctrl+] | Cmd/Ctrl swap |
Select next instance | Cmd+D | Ctrl+D | Cmd/Ctrl swap |
The following are general key mapppings on a Mac keyboard:
Key | Mac keyboard mapping |
---|---|
PgUp | Fn+Up |
PgDn | Fn+Down |
Home | Fn+Left |
End | Fn+Right |
Delete | Fn+Back |
The following are key bindings created by certain packages:
Package | Action | macOS | Windows & Linux |
---|---|---|---|
SublimeREPL | Run current Python file | Ctrl+Alt+P | Ctrl+Alt+P |
Markdown Table Formatter | Align columns in Markdown tables | Shift+Ctrl+Alt+T | Shift+Ctrl+Alt+T |
Package | Action | macOS, Windows & Linux |
---|---|---|
None | Save all open files | Ctrl+Alt+S |
MarkdownPreview | Render Markdown | Shift+Alt+M |
SublimeREPL | Run Python in SublimeREPL | Shift+Ctrl+Alt+P |
None | Run Python in Build System | Shift+Alt+P |
LatexTools | Run Latex | Shift+Alt+L |
None | Run R | Shift+Alt+R |
None | Run R Markdown | Shift+Alt+D |
None | Run Bash | Shift+Alt+B |
Terminus | Open terminal here | Shift+Alt+T |
Pretty JSON | Make JSON more readable | Ctrl+Alt+J |
Here’s my Default.sublime-keymap file that implements the above key bindings:
[
// Save all
{ "keys": ["ctrl+alt+s"], "command": "save_all" },
/* Markdown */
// Render Markdown in browser
{ "keys": ["shift+alt+m"], "command": "markdown_preview", "args": {"target": "browser", "parser": "markdown"} },
// Overwrite MardownEditing's key bindings
{ "keys": ["ctrl+1"], "command": "focus_group", "args": { "group": 0 } },
{ "keys": ["ctrl+2"], "command": "focus_group", "args": { "group": 1 } },
{ "keys": ["ctrl+3"], "command": "focus_group", "args": { "group": 2 } },
{ "keys": ["ctrl+4"], "command": "focus_group", "args": { "group": 3 } },
{ "keys": ["ctrl+5"], "command": "focus_group", "args": { "group": 4 } },
/* Python */
// Python in SublimeREPL
{
"keys": ["shift+ctrl+alt+p"], "command": "run_existing_window_command", "args": {
"id": "repl_python_run", "file": "config/Python/Main.sublime-menu"
}
},
// Python in Build system
{
"keys": ["shift+alt+p"], "command": "build", "args": {
"build_system": "Packages/User/python3.sublime-build", "variant": "", "choice_build_system": true,
"choice_variant": true
}
},
/* Latex */
{
"keys": ["shift+alt+l"], "command": "build", "args": {
"build_system": "Packages/LaTeXTools/LaTeX.sublime-build", "variant": "", "choice_build_system": true,
"choice_variant": true
}
},
/* R */
// R in Build system
{
"keys": ["shift+alt+r"], "command": "build", "args": {
"build_system": "Packages/User/R.sublime-build", "variant": "", "choice_build_system": true,
"choice_variant": true
}
},
// R Markdown in Build system
{
"keys": ["shift+alt+d"], "command": "build", "args": {
"build_system": "Packages/User/Rmarkdown.sublime-build", "variant": "", "choice_build_system": true,
"choice_variant": true
}
},
/* Bash */
// Bash in Build system
{
"keys": ["shift+alt+b"], "command": "build", "args": {
"build_system": "Packages/User/bash.sublime-build", "variant": "", "choice_build_system": true,
"choice_variant": true
}
},
// Termius
{ "keys": ["shift+alt+t"], "command": "terminus_open", "args": {"cwd": "${file_path:${folder}}"} },
/* Pretty JSON */
{ "keys": ["ctrl+alt+j"], "command": "pretty_json" }
]
Use the ‘default’ Default.sublime-keymap file (ie the one the opens up on the left-hand side when you go to Preferences > Key Bindings) to figure out what commands exist and how to re-bind them. Also take a look at the key bindings documentation.