9.3. Default Key Bindings (OSX)

A blank line with particular keypress means that key combination is not bound.

9.3.1. Number Keys

Key:
     C = ⌘ Command
     O = ⌥ Option (Alt)
     ^ = Ctrl
     S = Shift
  Ctxt = Context

Key

C

O

^

S

Ctxt

Command

Args

1

1

x

1

x

focus_group

{"group": 0}

1

x

x

move_to_group

{"group": 0}

1

x

1

x

x

1

x

x

1

x

x

x

1

x

select_by_index

{"index": 0}

1

x

[1]

focus_by_index

{"index": 0}

1

x

x

1

x

x

1

x

x

x

1

x

x

set_layout

{"cells": [[0, 0, 1, 1]], "cols": [0.0, 1.0], "rows": [0.0, 1.0]}

1

x

x

x

1

x

x

x

1

x

x

x

x

2

2

x

2

x

focus_group

{"group": 1}

2

x

x

move_to_group

{"group": 1}

2

x

2

x

x

2

x

x

2

x

x

x

2

x

select_by_index

{"index": 1}

2

x

[2]

focus_by_index

{"index": 1}

2

x

x

2

x

x

2

x

x

x

2

x

x

set_layout

{"cells": [[0, 0, 1, 1], [1, 0, 2, 1]], "cols": [0.0, 0.5, 1.0], "rows": [0.0, 1.0]}

2

x

x

x

set_layout

{"cells": [[0, 0, 1, 1], [0, 1, 1, 2]], "cols": [0.0, 1.0], "rows": [0.0, 0.5, 1.0]}

2

x

x

x

2

x

x

x

x

3

3

x

3

x

focus_group

{"group": 2}

3

x

x

move_to_group

{"group": 2}

3

x

3

x

x

3

x

x

3

x

x

x

3

x

select_by_index

{"index": 2}

3

x

[3]

focus_by_index

{"index": 2}

3

x

x

3

x

x

3

x

x

x

3

x

x

set_layout

{"cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1]], "cols": [0.0, 0.33, 0.66, 1.0], "rows": [0.0, 1.0]}

3

x

x

x

set_layout

{"cells": [[0, 0, 1, 1], [0, 1, 1, 2], [0, 2, 1, 3]], "cols": [0.0, 1.0], "rows": [0.0, 0.33, 0.66, 1.0]}

3

x

x

x

3

x

x

x

x

4

4

x

4

x

focus_group

{"group": 3}

4

x

x

move_to_group

{"group": 3}

4

x

4

x

x

4

x

x

4

x

x

x

4

x

select_by_index

{"index": 3}

4

x

[4]

focus_by_index

{"index": 3}

4

x

x

4

x

x

4

x

x

x

4

x

x

set_layout

{"cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1], [3, 0, 4, 1]], "cols": [0.0, 0.25, 0.5, 0.75, 1.0], "rows": [0.0, 1.0]}

4

x

x

x

4

x

x

x

4

x

x

x

x

5

5

x

5

x

focus_group

{"group": 4}

5

x

x

move_to_group

{"group": 4}

5

x

5

x

x

5

x

x

5

x

x

x

5

x

select_by_index

{"index": 4}

5

x

[5]

focus_by_index

{"index": 4}

5

x

x

5

x

x

5

x

x

x

5

x

x

set_layout

{"cells": [[0, 0, 1, 1], [1, 0, 2, 1], [0, 1, 1, 2], [1, 1, 2, 2]], "cols": [0.0, 0.5, 1.0], "rows": [0.0, 0.5, 1.0]}

5

x

x

x

5

x

x

x

5

x

x

x

x

6

6

x

6

x

focus_group

{"group": 5}

6

x

x

move_to_group

{"group": 5}

6

x

6

x

x

6

x

x

6

x

x

x

6

x

select_by_index

{"index": 5}

6

x

[6]

focus_by_index

{"index": 5}

6

x

x

6

x

x

6

x

x

x

6

x

x

6

x

x

x

6

x

x

x

6

x

x

x

x

7

7

x

7

x

focus_group

{"group": 6}

7

x

x

move_to_group

{"group": 6}

7

x

7

x

x

7

x

x

7

x

x

x

7

x

select_by_index

{"index": 6}

7

x

[7]

focus_by_index

{"index": 6}

7

x

x

7

x

x

7

x

x

x

7

x

x

7

x

x

x

7

x

x

x

7

x

x

x

x

8

8

x

8

x

focus_group

{"group": 7}

8

x

x

move_to_group

{"group": 7}

8

x

8

x

x

8

x

x

8

x

x

x

8

x

select_by_index

{"index": 7}

8

x

[8]

focus_by_index

{"index": 7}

8

x

x

8

x

x

8

x

x

x

8

x

x

8

x

x

x

8

x

x

x

8

x

x

x

x

9

9

x

9

x

focus_group

{"group": 8}

9

x

x

move_to_group

{"group": 8}

9

x

9

x

x

9

x

x

9

x

x

x

9

x

select_last_tab

9

x

[9]

focus_by_index

{"index": 8}

9

x

x

9

x

x

9

x

x

x

9

x

x

9

x

x

x

9

x

x

x

9

x

x

x

x

0

0

x

0

x

focus_side_bar

0

x

x

0

x

0

x

x

0

x

x

0

x

x

x

0

x

[10]

focus_by_index

{"index": 9}

0

x

x

0

x

x

0

x

x

x

0

x

x

0

x

x

x

0

x

x

x

0

x

x

x

x

"context": [
  { "key": "group_has_multiselect" }
    // Does View group have multi-select?
]
"context": [
  { "key": "group_has_multiselect" }
    // Does View group have multi-select?
]
"context": [
  { "key": "group_has_multiselect" }
    // Does View group have multi-select?
]
"context": [
  { "key": "group_has_multiselect" }
    // Does View group have multi-select?
]
"context": [
  { "key": "group_has_multiselect" }
    // Does View group have multi-select?
]
"context": [
  { "key": "group_has_multiselect" }
    // Does View group have multi-select?
]
"context": [
  { "key": "group_has_multiselect" }
    // Does View group have multi-select?
]
"context": [
  { "key": "group_has_multiselect" }
    // Does View group have multi-select?
]
"context": [
  { "key": "group_has_multiselect" }
    // Does View group have multi-select?
]
"context": [
  { "key": "group_has_multiselect" }
    // Does View group have multi-select?
]

9.3.2. Letter Keys

Key:
     C = ⌘ Command
     O = ⌥ Option (Alt)
     ^ = Ctrl
     S = Shift
  Ctxt = Context

Key

C

O

^

S

Ctxt

Command

Args

a

a

x

a

x

a

x

x

a

x

a

x

x

a

x

x

a

x

x

x

a

x

select_all

a

x

x

expand_selection

{"to": "smart"}

a

x

x

[11]

expand_selection

{"to": "tag"}

a

x

x

a

x

x

x

a

x

x

[12]

toggle_preserve_case

a

x

x

x

a

x

x

x

a

x

x

x

x

b

b

x

b

x

b

x

x

b

x

b

x

x

b

x

x

b

x

x

x

b

x

build

b

x

x

build

{"select": true}

b

x

x

b

x

x

x

b

x

x

b

x

x

x

b

x

x

x

b

x

x

x

x

c

c

x

c

x

cancel_build

c

x

x

c

x

c

x

x

c

x

x

c

x

x

x

c

x

copy

c

x

x

c

x

x

c

x

x

x

c

x

x

[13]

toggle_case_sensitive

c

x

x

x

c

x

x

x

c

x

x

x

x

d

d

x

d

x

d

x

x

d

x

d

x

x

d

x

x

d

x

x

x

d

x

find_under_expand

d

x

x

duplicate_line

d

x

x

noop

d

x

x

x

noop

d

x

x

d

x

x

x

d

x

x

x

d

x

x

x

x

e

e

x

e

x

e

x

x

e

x

e

x

x

e

x

x

e

x

x

x

e

x

slurp_find_string

e

x

x

slurp_replace_string

e

x

x

e

x

x

x

e

x

x

replace_next

e

x

x

x

e

x

x

x

e

x

x

x

x

f

f

x

f

x

f

x

x

f

x

f

x

x

f

x

x

f

x

x

x

f

x

show_panel

{"panel": "find", "reverse": false}

f

x

x

show_panel

{"panel": "find_in_files"}

f

x

x

toggle_full_screen

f

x

x

x

toggle_distraction_free

f

x

x

show_panel

{"panel": "replace", "reverse": false}

f

x

x

x

f

x

x

x

f

x

x

x

x

g

g

x

g

x

show_overlay

{"overlay": "goto", "text": ":"}

g

x

x

g

x

g

x

x

g

x

x

g

x

x

x

g

x

find_next

g

x

x

find_prev

g

x

x

find_all_under

g

x

x

x

g

x

x

find_under

g

x

x

x

find_under_prev

g

x

x

x

g

x

x

x

x

h

h

x

h

x

h

x

x

h

x

h

x

x

h

x

x

h

x

x

x

h

x

h

x

x

h

x

x

h

x

x

x

h

x

x

h

x

x

x

h

x

x

x

h

x

x

x

x

i

i

x

i

x

i

x

x

i

x

i

x

x

i

x

x

i

x

x

x

i

x

show_panel

{"panel": "incremental_find", "reverse": false}

i

x

x

show_panel

{"panel": "incremental_find", "reverse": true}

i

x

x

i

x

x

x

i

x

x

i

x

x

x

i

x

x

x

i

x

x

x

x

j

j

x

j

x

j

x

x

j

x

j

x

x

j

x

x

j

x

x

x

j

x

j

x

x

join_lines

j

x

x

j

x

x

x

j

x

x

j

x

x

x

j

x

x

x

j

x

x

x

x

k

k

x

k

x

run_macro_file

{"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"}

k

x

x

run_macro_file

{"file": "res://Packages/Default/Delete Line.sublime-macro"}

k

x

k

x

x

k

x

x

k

x

x

x

k

x

k

x

x

k

x

x

k

x

x

x

k

x

x

k

x

x

x

k

x

x

x

k

x

x

x

x

l

l

x

l

x

show_at_center

l

x

x

l

x

l

x

x

l

x

x

l

x

x

x

l

x

expand_selection

{"to": "line"}

l

x

x

split_selection_into_lines

l

x

x

l

x

x

x

l

x

x

expand_selection

{"to": "line_prev"}

l

x

x

x

l

x

x

x

l

x

x

x

x

m

m

x

m

x

move_to

{"to": "brackets"}

m

x

x

expand_selection

{"to": "brackets"}

m

x

m

x

x

m

x

x

m

x

x

x

m

x

m

x

x

m

x

x

m

x

x

x

m

x

x

m

x

x

x

m

x

x

x

m

x

x

x

x

n

n

x

n

x

n

x

x

n

x

n

x

x

n

x

x

n

x

x

x

n

x

new_file

n

x

x

new_window

n

x

x

n

x

x

x

n

x

x

n

x

x

x

new_os_tab

n

x

x

x

n

x

x

x

x

o

o

x

o

x

insert_snippet

{"contents": "$0\n"}

o

x

x

o

x

o

x

x

o

x

x

o

x

x

x

o

x

prompt_open

o

x

x

o

x

x

o

x

x

x

o

x

x

toggle_overwrite

o

x

x

x

o

x

x

x

o

x

x

x

x

p

p

x

p

x

p

x

x

show_scope_name

p

x

p

x

x

p

x

x

p

x

x

x

p

x

show_overlay

{"overlay": "goto", "show_files": true}

p

x

x

show_overlay

{"overlay": "command_palette"}

p

x

x

prompt_select_workspace

p

x

x

x

p

x

x

show_scope_name

p

x

x

x

p

x

x

x

p

x

x

x

x

q

q

x

q

x

toggle_record_macro

q

x

x

run_macro

q

x

q

x

x

q

x

x

q

x

x

x

q

x

q

x

x

q

x

x

q

x

x

x

q

x

x

wrap_lines

q

x

x

x

q

x

x

x

q

x

x

x

x

r

r

x

r

x

next_bookmark

r

x

x

toggle_bookmark

r

x

r

x

x

r

x

x

r

x

x

x

r

x

show_overlay

{"overlay": "goto", "text": "@"}

r

x

x

goto_symbol_in_project

r

x

x

r

x

x

x

r

x

x

[14]

toggle_regex

r

x

x

x

r

x

x

x

r

x

x

x

x

s

s

x

s

x

s

x

x

s

x

s

x

x

s

x

x

s

x

x

x

s

x

save

{"async": true}

s

x

x

prompt_save_as

s

x

x

s

x

x

x

s

x

x

save_all

s

x

x

x

s

x

x

x

s

x

x

x

x

t

t

x

t

x

transpose

t

x

x

t

x

t

x

x

t

x

x

t

x

x

x

t

x

show_overlay

{"overlay": "goto", "show_files": true}

t

x

x

reopen_last_file

{"source": "window"}

t

x

x

t

x

x

x

t

x

x

t

x

x

x

t

x

x

x

t

x

x

x

x

u

u

x

u

x

u

x

x

u

x

u

x

x

u

x

x

u

x

x

x

u

x

soft_undo

u

x

x

soft_redo

u

x

x

u

x

x

x

u

x

x

u

x

x

x

u

x

x

x

u

x

x

x

x

v

v

x

v

x

v

x

x

v

x

v

x

x

v

x

x

v

x

x

x

v

x

paste

v

x

x

paste_and_indent

v

x

x

v

x

x

x

v

x

x

paste_from_history

v

x

x

x

v

x

x

x

v

x

x

x

x

w

w

x

w

x

w

x

x

insert_snippet

{"name": "Packages/XML/Snippets/xml-long-tag.sublime-snippet"}

w

x

w

x

x

w

x

x

w

x

x

x

w

x

close

w

x

[15]

close_transient

w

x

x

close_window

w

x

x

w

x

x

x

w

x

x

[16]

toggle_whole_word

w

x

x

x

w

x

x

x

w

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

cut

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

y

y

x

y

x

yank

y

x

x

y

x

y

x

x

y

x

x

y

x

x

x

y

x

redo_or_repeat

y

x

x

y

x

x

y

x

x

x

y

x

x

y

x

x

x

y

x

x

x

y

x

x

x

x

z

z

x

z

x

z

x

x

z

x

z

x

x

z

x

x

z

x

x

x

z

x

undo

z

x

x

redo

z

x

x

z

x

x

x

z

x

x

z

x

x

x

z

x

x

x

z

x

x

x

x

"context": [
  { "key": "selector", "operand": "(text.html, text.xml) - source", "match_all": true }
    // Does selector [(text.html, text.xml) - source] match scope at selection (for all selections)?
]
"context": [
  { "key": "panel_type"     , "operand": "find" }
    // Does focused Panel's type == "find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel_type"     , "operand": "find" }
    // Does focused Panel's type == "find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel_type"     , "operand": "find" }
    // Does focused Panel's type == "find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "group_has_transient_sheet" }
    // Does View group have a transient sheet?
]
"context": [
  { "key": "panel_type"     , "operand": "find" }
    // Does focused Panel's type == "find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]

9.3.3. Function Keys

Key:
     C = ⌘ Command
     O = ⌥ Option (Alt)
     ^ = Ctrl
     S = Shift
  Ctxt = Context

Key

C

O

^

S

Ctxt

Command

Args

f1

f1

x

f1

x

f1

x

x

f1

x

f1

x

x

f1

x

x

f1

x

x

x

f1

x

f1

x

x

f1

x

x

f1

x

x

x

f1

x

x

f1

x

x

x

f1

x

x

x

f1

x

x

x

x

f2

next_bookmark

f2

x

prev_bookmark

f2

x

f2

x

x

f2

x

select_all_bookmarks

f2

x

context_menu

f2

x

x

f2

x

x

f2

x

x

x

f2

x

toggle_bookmark

{"toggle_line": true}

f2

x

x

clear_bookmarks

f2

x

x

f2

x

x

x

f2

x

x

f2

x

x

x

f2

x

x

x

f2

x

x

x

x

f3

f3

x

f3

x

f3

x

x

f3

x

f3

x

x

f3

x

x

f3

x

x

x

f3

x

f3

x

x

f3

x

x

f3

x

x

x

f3

x

x

f3

x

x

x

f3

x

x

x

f3

x

x

x

x

f4

next_result

f4

x

prev_result

f4

x

f4

x

x

f4

x

f4

x

x

f4

x

x

f4

x

x

x

f4

x

f4

x

x

f4

x

x

f4

x

x

x

f4

x

x

f4

x

x

x

f4

x

x

x

f4

x

x

x

x

f5

sort_lines

{"case_sensitive": false}

f5

x

f5

x

sort_lines

{"case_sensitive": true}

f5

x

x

f5

x

f5

x

x

f5

x

x

f5

x

x

x

f5

x

f5

x

x

f5

x

x

f5

x

x

x

f5

x

x

f5

x

x

x

f5

x

x

x

f5

x

x

x

x

f6

toggle_setting

{"setting": "spell_check"}

f6

x

f6

x

next_misspelling

f6

x

x

prev_misspelling

f6

x

f6

x

x

f6

x

x

f6

x

x

x

f6

x

f6

x

x

f6

x

x

f6

x

x

x

f6

x

x

f6

x

x

x

f6

x

x

x

f6

x

x

x

x

f7

build

f7

x

f7

x

f7

x

x

f7

x

f7

x

x

f7

x

x

f7

x

x

x

f7

x

f7

x

x

f7

x

x

f7

x

x

x

f7

x

x

f7

x

x

x

f7

x

x

x

f7

x

x

x

x

f8

f8

x

f8

x

f8

x

x

f8

x

f8

x

x

f8

x

x

f8

x

x

x

f8

x

f8

x

x

f8

x

x

f8

x

x

x

f8

x

x

f8

x

x

x

f8

x

x

x

f8

x

x

x

x

f9

f9

x

f9

x

f9

x

x

f9

x

f9

x

x

f9

x

x

f9

x

x

x

f9

x

f9

x

x

f9

x

x

f9

x

x

x

f9

x

x

f9

x

x

x

f9

x

x

x

f9

x

x

x

x

f10

f10

x

f10

x

f10

x

x

f10

x

f10

x

x

f10

x

x

f10

x

x

x

f10

x

f10

x

x

f10

x

x

f10

x

x

x

f10

x

x

f10

x

x

x

f10

x

x

x

f10

x

x

x

x

f11

f11

x

f11

x

f11

x

x

f11

x

f11

x

x

f11

x

x

f11

x

x

x

f11

x

f11

x

x

f11

x

x

f11

x

x

x

f11

x

x

f11

x

x

x

f11

x

x

x

f11

x

x

x

x

f12

goto_definition

f12

[17]

auto_complete_open_link

f12

x

goto_reference

f12

x

f12

x

x

f12

x

f12

x

x

f12

x

x

f12

x

x

x

f12

x

goto_definition

{"clear_to_right": true, "side_by_side": true}

f12

x

x

goto_reference

{"clear_to_right": true, "side_by_side": true}

f12

x

x

f12

x

x

x

f12

x

x

f12

x

x

x

f12

x

x

x

f12

x

x

x

x

f13

f13

x

f13

x

f13

x

x

f13

x

f13

x

x

f13

x

x

f13

x

x

x

f13

x

f13

x

x

f13

x

x

f13

x

x

x

f13

x

x

f13

x

x

x

f13

x

x

x

f13

x

x

x

x

f14

f14

x

f14

x

f14

x

x

f14

x

f14

x

x

f14

x

x

f14

x

x

x

f14

x

f14

x

x

f14

x

x

f14

x

x

x

f14

x

x

f14

x

x

x

f14

x

x

x

f14

x

x

x

x

f15

f15

x

f15

x

f15

x

x

f15

x

f15

x

x

f15

x

x

f15

x

x

x

f15

x

f15

x

x

f15

x

x

f15

x

x

x

f15

x

x

f15

x

x

x

f15

x

x

x

f15

x

x

x

x

f16

f16

x

f16

x

f16

x

x

f16

x

f16

x

x

f16

x

x

f16

x

x

x

f16

x

f16

x

x

f16

x

x

f16

x

x

x

f16

x

x

f16

x

x

x

f16

x

x

x

f16

x

x

x

x

f17

f17

x

f17

x

f17

x

x

f17

x

f17

x

x

f17

x

x

f17

x

x

x

f17

x

f17

x

x

f17

x

x

f17

x

x

x

f17

x

x

f17

x

x

x

f17

x

x

x

f17

x

x

x

x

f18

f18

x

f18

x

f18

x

x

f18

x

f18

x

x

f18

x

x

f18

x

x

x

f18

x

f18

x

x

f18

x

x

f18

x

x

x

f18

x

x

f18

x

x

x

f18

x

x

x

f18

x

x

x

x

f19

f19

x

f19

x

f19

x

x

f19

x

f19

x

x

f19

x

x

f19

x

x

x

f19

x

f19

x

x

f19

x

x

f19

x

x

x

f19

x

x

f19

x

x

x

f19

x

x

x

f19

x

x

x

x

f20

f20

x

f20

x

f20

x

x

f20

x

f20

x

x

f20

x

x

f20

x

x

x

f20

x

f20

x

x

f20

x

x

f20

x

x

x

f20

x

x

f20

x

x

x

f20

x

x

x

f20

x

x

x

x

"context": [
  { "key": "auto_complete_visible" }
    // Is auto-complete, mini-auto-complete or async-auto-complete popup visible?
]

9.3.4. Symbol Keys

Key:
     C = ⌘ Command
     O = ⌥ Option (Alt)
     ^ = Ctrl
     S = Shift
  Ctxt = Context

Key

C

O

^

S

Ctxt

Command

Args

'

[18]

insert_snippet

{"contents": "'$0'"}

'

[19]

insert_snippet

{"contents": "'${0:$SELECTION}'"}

'

[20]

move

{"by": "characters", "forward": true}

'

x

'

x

'

x

x

'

x

'

x

x

'

x

x

'

x

x

x

'

x

'

x

x

'

x

x

'

x

x

x

'

x

x

'

x

x

x

'

x

x

x

'

x

x

x

x

,

,

x

,

x

prev_modification

,

x

x

,

x

,

x

x

,

x

x

,

x

x

x

,

x

edit_settings

{"base_file": "${packages}/Default/Preferences.sublime-settings", "default": "// Settings in here override those in \"Default/Preferences.sublime-settings\",\n// and are overridden in turn by syntax-specific settings.\n{\n\t$0\n}\n"}

,

x

x

,

x

x

,

x

x

x

,

x

x

,

x

x

x

,

x

x

x

,

x

x

x

x

-

-

x

-

x

-

x

x

-

x

-

x

x

-

x

x

-

x

x

x

-

x

-

x

x

-

x

x

-

x

x

x

-

x

x

-

x

x

x

-

x

x

x

-

x

x

x

x

.

.

x

.

x

next_modification

.

x

x

.

x

.

x

x

.

x

x

.

x

x

x

.

x

.

x

x

.

x

x

.

x

x

x

.

x

x

close_tag

.

x

x

x

.

x

x

x

.

x

x

x

x

/

[21]

close_tag

{"insert_slash": true}

/

x

/

x

/

x

x

/

x

/

x

x

/

x

x

/

x

x

x

/

x

/

x

x

/

x

x

/

x

x

x

/

x

x

/

x

x

x

/

x

x

x

/

x

x

x

x

;

;

x

;

x

;

x

x

;

x

;

x

x

;

x

x

;

x

x

x

;

x

;

x

x

;

x

x

;

x

x

x

;

x

x

;

x

x

x

;

x

x

x

;

x

x

x

x

=

=

x

=

x

=

x

x

=

x

=

x

x

=

x

x

=

x

x

x

=

x

=

x

x

=

x

x

=

x

x

x

=

x

x

=

x

x

x

=

x

x

x

=

x

x

x

x

[

[22]

insert_snippet

{"contents": "[$0]"}

[

[23]

insert_snippet

{"contents": "[${0:$SELECTION}]"}

[

x

[

x

[

x

x

[

x

[

x

x

[

x

x

[

x

x

x

[

x

unindent

[

x

x

prev_view

[

x

x

[

x

x

x

[

x

x

fold

[

x

x

x

[

x

x

x

[

x

x

x

x

\

\

x

\

x

\

x

x

\

x

\

x

x

\

x

x

\

x

x

x

\

x

\

x

x

\

x

x

\

x

x

x

\

x

x

\

x

x

x

\

x

x

x

\

x

x

x

x

]

[24]

move

{"by": "characters", "forward": true}

]

x

]

x

]

x

x

]

x

]

x

x

]

x

x

]

x

x

x

]

x

indent

]

x

x

next_view

]

x

x

]

x

x

x

]

x

x

unfold

]

x

x

x

]

x

x

x

]

x

x

x

x

`

`

x

`

x

`

x

x

`

x

`

x

x

`

x

x

`

x

x

x

`

x

`

x

x

`

x

x

`

x

x

x

`

x

x

`

x

x

x

`

x

x

x

`

x

x

x

x

!

!

x

!

x

!

x

x

!

x

!

x

x

!

x

x

!

x

x

x

!

x

!

x

x

!

x

x

!

x

x

x

!

x

x

!

x

x

x

!

x

x

x

!

x

x

x

x

"

[25]

insert_snippet

{"contents": "\"$0\""}

"

[26]

insert_snippet

{"contents": "\"${0:$SELECTION}\""}

"

[27]

move

{"by": "characters", "forward": true}

"

x

"

x

"

x

x

"

x

"

x

x

"

x

x

"

x

x

x

"

x

"

x

x

"

x

x

"

x

x

x

"

x

x

"

x

x

x

"

x

x

x

"

x

x

x

x

#

#

x

#

x

#

x

x

#

x

#

x

x

#

x

x

#

x

x

x

#

x

#

x

x

#

x

x

#

x

x

x

#

x

x

#

x

x

x

#

x

x

x

#

x

x

x

x

$

$

x

$

x

$

x

x

$

x

$

x

x

$

x

x

$

x

x

x

$

x

$

x

x

$

x

x

$

x

x

x

$

x

x

$

x

x

x

$

x

x

x

$

x

x

x

x

%

%

x

%

x

%

x

x

%

x

%

x

x

%

x

x

%

x

x

x

%

x

%

x

x

%

x

x

%

x

x

x

%

x

x

%

x

x

x

%

x

x

x

%

x

x

x

x

&

&

x

&

x

&

x

x

&

x

&

x

x

&

x

x

&

x

x

x

&

x

&

x

x

&

x

x

&

x

x

x

&

x

x

&

x

x

x

&

x

x

x

&

x

x

x

x

(

[28]

insert_snippet

{"contents": "($0)"}

(

[29]

insert_snippet

{"contents": "(${0:$SELECTION})"}

(

x

(

x

(

x

x

(

x

(

x

x

(

x

x

(

x

x

x

(

x

(

x

x

(

x

x

(

x

x

x

(

x

x

(

x

x

x

(

x

x

x

(

x

x

x

x

)

[30]

move

{"by": "characters", "forward": true}

)

x

)

x

)

x

x

)

x

)

x

x

)

x

x

)

x

x

x

)

x

)

x

x

)

x

x

)

x

x

x

)

x

x

)

x

x

x

)

x

x

x

)

x

x

x

x

*

*

x

*

x

*

x

x

*

x

*

x

x

*

x

x

*

x

x

x

*

x

*

x

x

*

x

x

*

x

x

x

*

x

x

*

x

x

x

*

x

x

x

*

x

x

x

x

+

+

x

+

x

+

x

x

+

x

+

x

x

+

x

x

+

x

x

x

+

x

+

x

x

+

x

x

+

x

x

x

+

x

x

+

x

x

x

+

x

x

x

+

x

x

x

x

:

:

x

:

x

:

x

x

:

x

:

x

x

:

x

x

:

x

x

x

:

x

:

x

x

:

x

x

:

x

x

x

:

x

x

:

x

x

x

:

x

x

x

:

x

x

x

x

<

<

x

<

x

<

x

x

<

x

<

x

x

<

x

x

<

x

x

x

<

x

<

x

x

<

x

x

<

x

x

x

<

x

x

<

x

x

x

<

x

x

x

<

x

x

x

x

>

>

x

>

x

>

x

x

>

x

>

x

x

>

x

x

>

x

x

x

>

x

>

x

x

>

x

x

>

x

x

x

>

x

x

>

x

x

x

>

x

x

x

>

x

x

x

x

?

?

x

?

x

?

x

x

?

x

?

x

x

?

x

x

?

x

x

x

?

x

?

x

x

?

x

x

?

x

x

x

?

x

x

?

x

x

x

?

x

x

x

?

x

x

x

x

@

@

x

@

x

@

x

x

@

x

@

x

x

@

x

x

@

x

x

x

@

x

@

x

x

@

x

x

@

x

x

x

@

x

x

@

x

x

x

@

x

x

x

@

x

x

x

x

^

^

x

^

x

^

x

x

^

x

^

x

x

^

x

x

^

x

x

x

^

x

^

x

x

^

x

x

^

x

x

x

^

x

x

^

x

x

x

^

x

x

x

^

x

x

x

x

_

_

x

_

x

_

x

x

_

x

_

x

x

_

x

x

_

x

x

x

_

x

_

x

x

_

x

x

_

x

x

x

_

x

x

_

x

x

x

_

x

x

x

_

x

x

x

x

{

[31]

insert_snippet

{"contents": "{$0}"}

{

[32]

wrap_block

{"begin": "{", "end": "}"}

{

[33]

insert_snippet

{"contents": "{${0:$SELECTION}}"}

{

x

{

x

{

x

x

{

x

{

x

x

{

x

x

{

x

x

x

{

x

{

x

x

{

x

x

{

x

x

x

{

x

x

{

x

x

x

{

x

x

x

{

x

x

x

x

|

|

x

|

x

|

x

x

|

x

|

x

x

|

x

x

|

x

x

x

|

x

|

x

x

|

x

x

|

x

x

x

|

x

x

|

x

x

x

|

x

x

x

|

x

x

x

x

}

[34]

move

{"by": "characters", "forward": true}

}

x

}

x

}

x

x

}

x

}

x

x

}

x

x

}

x

x

x

}

x

}

x

x

}

x

x

}

x

x

x

}

x

x

}

x

x

x

}

x

x

x

}

x

x

x

x

~

~

x

~

x

~

x

x

~

x

~

x

x

~

x

x

~

x

x

x

~

x

~

x

x

~

x

x

~

x

x

x

~

x

x

~

x

x

x

~

x

x

x

~

x

x

x

x

"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains"    , "operand": "^(?:\t| |\\)|]|\\}|>|$)", "match_all": true }
    // Does regex "^(?:\t| |\\)|]|\\}|>|$)" match any of the text between left edge of selection and EOL (for all selections)?,
  { "key": "preceding_text"            , "operator": "not_regex_contains", "operand": "['a-zA-Z0-9_]$", "match_all": true }
    // Does regex "['a-zA-Z0-9_]$" match none of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "eol_selector"              , "operator": "not_equal"         , "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true }
    // Does selector [string.quoted.single - punctuation.definition.string.end] NOT match scope at EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "operand": false, "match_all": true }
    // Is selection NOT empty (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^'", "match_all": true }
    // Does regex "^'" match any of the text between left edge of selection and EOL (for all selections)?,
  { "key": "selector"                  , "operator": "not_equal"     , "operand": "punctuation.definition.string.begin", "match_all": true }
    // Does selector [punctuation.definition.string.begin] NOT match scope at selection (for all selections)?,
  { "key": "eol_selector"              , "operator": "not_equal"     , "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true }
    // Does selector [string.quoted.single - punctuation.definition.string.end] NOT match scope at EOL (for all selections)?
]
"context": [
  { "key": "selector"               , "operand": "(text.html, text.xml) - string - comment", "match_all": true }
    // Does selector [(text.html, text.xml) - string - comment] match scope at selection (for all selections)?,
  { "key": "preceding_text"         , "operator": "regex_match", "operand": ".*<$", "match_all": true }
    // Does regex ".*<$" fully match the text between BOL and the left edge of selection (for all selections)?,
  { "key": "setting.auto_close_tags" }
    // Is the View-setting [auto_close_tags] == true?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true }
    // Does regex "^(?:\t| |\\)|]|;|\\}|$)" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "operand": false, "match_all": true }
    // Is selection NOT empty (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^\\]", "match_all": true }
    // Does regex "^\\]" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains"    , "operand": "^(?:\t| |\\)|]|\\}|>|$)", "match_all": true }
    // Does regex "^(?:\t| |\\)|]|\\}|>|$)" match any of the text between left edge of selection and EOL (for all selections)?,
  { "key": "preceding_text"            , "operator": "not_regex_contains", "operand": "[\"a-zA-Z0-9_]$", "match_all": true }
    // Does regex "[\"a-zA-Z0-9_]$" match none of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "eol_selector"              , "operator": "not_equal"         , "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true }
    // Does selector [string.quoted.double - punctuation.definition.string.end] NOT match scope at EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "operand": false, "match_all": true }
    // Is selection NOT empty (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^\"", "match_all": true }
    // Does regex "^\"" match any of the text between left edge of selection and EOL (for all selections)?,
  { "key": "selector"                  , "operator": "not_equal"     , "operand": "punctuation.definition.string.begin", "match_all": true }
    // Does selector [punctuation.definition.string.begin] NOT match scope at selection (for all selections)?,
  { "key": "eol_selector"              , "operator": "not_equal"     , "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true }
    // Does selector [string.quoted.double - punctuation.definition.string.end] NOT match scope at EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true }
    // Does regex "^(?:\t| |\\)|]|;|\\}|$)" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "operand": false, "match_all": true }
    // Is selection NOT empty (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^\\)", "match_all": true }
    // Does regex "^\\)" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|$)", "match_all": true }
    // Does regex "^(?:\t| |\\)|]|\\}|$)" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "indented_block"            , "match_all": true }
    // Is current block indented (for all selections)?,
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_match", "operand": "^$", "match_all": true }
    // Does regex "^$" fully match the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "operand": false, "match_all": true }
    // Is selection NOT empty (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^\\}", "match_all": true }
    // Does regex "^\\}" match any of the text between left edge of selection and EOL (for all selections)?
]

9.3.5. Named Keys

Key:
     C = ⌘ Command
     O = ⌥ Option (Alt)
     ^ = Ctrl
     S = Shift
  Ctxt = Context

Key

C

O

^

S

Ctxt

Command

Args

up

up

x

up

x

up

x

x

select_lines

{"forward": false}

up

x

up

x

x

up

x

x

scroll_lines

{"amount": 1.0}

up

x

x

x

up

x

up

x

x

up

x

x

swap_line_up

up

x

x

x

up

x

x

switch_file

{"extensions": ["cpp", "cxx", "cc", "c", "hpp", "hxx", "hh", "h", "ipp", "inl", "m", "mm"]}

up

x

x

x

switch_file

{"extensions": ["cpp", "cxx", "cc", "c", "hpp", "hxx", "hh", "h", "ipp", "inl", "m", "mm"], "side_by_side": true}

up

x

x

x

up

x

x

x

x

down

down

x

down

x

down

x

x

select_lines

{"forward": true}

down

x

down

x

x

down

x

x

scroll_lines

{"amount": -1.0}

down

x

x

x

down

x

down

x

x

down

x

x

swap_line_down

down

x

x

x

down

x

x

goto_definition

down

x

x

[35]

auto_complete_open_link

down

x

x

x

goto_reference

down

x

x

x

down

x

x

x

x

left

left

x

left

x

move

{"by": "subwords", "forward": false}

left

x

x

move

{"by": "subwords", "extend": true, "forward": false}

left

x

left

x

x

left

x

x

move

{"by": "subwords", "forward": false}

left

x

x

x

move

{"by": "subwords", "extend": true, "forward": false}

left

x

left

x

x

left

x

x

left

x

x

x

left

x

x

prev_view

left

x

x

x

prev_view

{"extend": true}

left

x

x

x

left

x

x

x

x

right

right

x

right

x

move

{"by": "subword_ends", "forward": true}

right

x

x

move

{"by": "subword_ends", "extend": true, "forward": true}

right

x

right

x

x

right

x

x

move

{"by": "subword_ends", "forward": true}

right

x

x

x

move

{"by": "subword_ends", "extend": true, "forward": true}

right

x

right

x

x

right

x

x

right

x

x

x

right

x

x

next_view

right

x

x

x

next_view

{"extend": true}

right

x

x

x

right

x

x

x

x

insert

insert

x

insert

x

insert

x

x

insert

x

insert

x

x

insert

x

x

insert

x

x

x

insert

x

insert

x

x

insert

x

x

insert

x

x

x

insert

x

x

insert

x

x

x

insert

x

x

x

insert

x

x

x

x

delete

delete

x

delete

x

delete_word

{"forward": true, "sub_words": true}

delete

x

x

delete

x

delete

x

x

delete

x

x

delete

x

x

x

delete

x

run_macro_file

{"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"}

delete

x

x

delete

x

x

delete

x

x

x

delete

x

x

delete

x

x

x

delete

x

x

x

delete

x

x

x

x

home

home

x

home

x

home

x

x

home

x

home

x

x

home

x

x

home

x

x

x

home

x

home

x

x

home

x

x

home

x

x

x

home

x

x

home

x

x

x

home

x

x

x

home

x

x

x

x

end

end

x

end

x

end

x

x

end

x

end

x

x

end

x

x

end

x

x

x

end

x

end

x

x

end

x

x

end

x

x

x

end

x

x

end

x

x

x

end

x

x

x

end

x

x

x

x

pageup

pageup

x

pageup

x

prev_view

pageup

x

x

prev_view

{"extend": true}

pageup

x

pageup

x

x

pageup

x

x

pageup

x

x

x

pageup

x

pageup

x

x

pageup

x

x

pageup

x

x

x

pageup

x

x

pageup

x

x

x

pageup

x

x

x

pageup

x

x

x

x

pagedown

pagedown

x

pagedown

x

next_view

pagedown

x

x

next_view

{"extend": true}

pagedown

x

pagedown

x

x

pagedown

x

x

pagedown

x

x

x

pagedown

x

pagedown

x

x

pagedown

x

x

pagedown

x

x

x

pagedown

x

x

pagedown

x

x

x

pagedown

x

x

x

pagedown

x

x

x

x

backspace

[36]

run_macro_file

{"file": "res://Packages/Default/Delete Left Right.sublime-macro"}

backspace

[37]

run_macro_file

{"file": "res://Packages/Default/Delete Left Right.sublime-macro"}

backspace

[38]

run_macro_file

{"file": "res://Packages/Default/Delete Left Right.sublime-macro"}

backspace

[39]

run_macro_file

{"file": "res://Packages/Default/Delete Left Right.sublime-macro"}

backspace

[40]

run_macro_file

{"file": "res://Packages/Default/Delete Left Right.sublime-macro"}

backspace

x

backspace

x

delete_word

{"forward": false, "sub_words": true}

backspace

x

x

backspace

x

backspace

x

x

backspace

x

x

backspace

x

x

x

backspace

x

run_macro_file

{"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"}

backspace

x

x

backspace

x

x

backspace

x

x

x

backspace

x

x

backspace

x

x

x

backspace

x

x

x

backspace

x

x

x

x

tab

insert

{"characters": "\t"}

tab

[41]

auto_complete

{"commit_single": true, "default": "\t", "mini": true}

tab

[42]

auto_complete

{"default": "\t", "snippets_only": true}

tab

[43]

expand_snippet

tab

[44]

reindent

tab

[45]

indent

tab

[46]

move

{"by": "lines", "forward": true}

tab

[47]

next_field

tab

[48]

commit_completion

tab

x

insert

{"characters": "\t"}

tab

x

[49]

unindent

tab

x

[50]

unindent

tab

x

[51]

unindent

tab

x

[52]

move

{"by": "lines", "forward": false}

tab

x

[53]

prev_field

tab

x

next_view_in_stack

tab

x

x

prev_view_in_stack

tab

x

tab

x

x

tab

x

x

next_os_tab

tab

x

x

x

prev_os_tab

tab

x

tab

x

x

tab

x

x

tab

x

x

x

tab

x

x

tab

x

x

x

tab

x

x

x

tab

x

x

x

x

enter

[54]

commit_completion

enter

[55]

run_macro_file

{"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}

enter

[56]

auto_indent_tag

enter

[57]

insert

{"characters": "\n* "}

enter

[58]

insert

{"characters": "\n * "}

enter

[59]

find_next

enter

[60]

find_next

enter

[61]

hide_panel

enter

[62]

find_all

enter

[63]

select

enter

[64]

select

enter

x

[65]

run_macro_file

{"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}

enter

x

[66]

auto_indent_tag

enter

x

[67]

find_prev

enter

x

[68]

find_prev

enter

x

[69]

chain

{"commands": [{"command": "find_prev"}, {"command": "hide_panel"}]}

enter

x

[70]

select

{"extend": true}

enter

x

enter

x

x

enter

x

[71]

find_all

{"close_panel": true}

enter

x

[72]

find_all

{"close_panel": true}

enter

x

[73]

find_all

{"close_panel": true}

enter

x

[74]

find_all

enter

x

[75]

select

{"replace": true}

enter

x

x

enter

x

x

[76]

replace_all

{"close_panel": true}

enter

x

x

[77]

replace_all

enter

x

x

x

enter

x

[78]

run_macro_file

{"file": "res://Packages/Default/Add Line.sublime-macro"}

enter

x

[79]

select

{"clear_to_right": true, "extend": true}

enter

x

x

run_macro_file

{"file": "res://Packages/Default/Add Line Before.sublime-macro"}

enter

x

x

enter

x

x

x

enter

x

x

enter

x

x

x

enter

x

x

x

enter

x

x

x

x

pause

pause

x

pause

x

pause

x

x

pause

x

pause

x

x

pause

x

x

pause

x

x

x

pause

x

pause

x

x

pause

x

x

pause

x

x

x

pause

x

x

pause

x

x

x

pause

x

x

x

pause

x

x

x

x

break

break

x

break

x

break

x

x

break

x

break

x

x

break

x

x

break

x

x

x

break

x

break

x

x

break

x

x

break

x

x

x

break

x

x

break

x

x

x

break

x

x

x

break

x

x

x

x

space

space

x

space

x

auto_complete

space

x

[80]

move

{"by": "lines", "forward": true}

space

x

x

space

x

space

x

x

space

x

x

space

x

x

x

space

x

space

x

x

expand_selection

{"to": "scope"}

space

x

x

space

x

x

x

space

x

x

space

x

x

x

space

x

x

x

space

x

x

x

x

escape

[81]

single_selection

escape

[82]

clear_fields

escape

[83]

clear_fields

escape

[84]

hide_panel

{"cancel": true}

escape

[85]

hide_overlay

escape

[86]

hide_auto_complete

escape

[87]

hide_popup

escape

[88]

hide_overlay

escape

x

[89]

show_panel

{"panel": "output.exec"}

escape

x

escape

x

x

escape

x

escape

x

x

escape

x

x

escape

x

x

x

escape

x

escape

x

x

escape

x

x

escape

x

x

x

escape

x

x

escape

x

x

x

escape

x

x

x

escape

x

x

x

x

context_menu

context_menu

x

context_menu

x

context_menu

x

x

context_menu

x

context_menu

x

x

context_menu

x

x

context_menu

x

x

x

context_menu

x

context_menu

x

x

context_menu

x

x

context_menu

x

x

x

context_menu

x

x

context_menu

x

x

x

context_menu

x

x

x

context_menu

x

x

x

x

backquote

backquote

x

backquote

x

show_panel

{"panel": "console", "toggle": true}

backquote

x

x

backquote

x

backquote

x

x

backquote

x

x

backquote

x

x

x

backquote

x

backquote

x

x

backquote

x

x

backquote

x

x

x

backquote

x

x

backquote

x

x

x

backquote

x

x

x

backquote

x

x

x

x

equals

equals

x

equals

x

equals

x

x

equals

x

equals

x

x

equals

x

x

equals

x

x

x

equals

x

increase_font_size

equals

x

x

equals

x

x

equals

x

x

x

equals

x

x

equals

x

x

x

equals

x

x

x

equals

x

x

x

x

forward_slash

forward_slash

x

forward_slash

x

forward_slash

x

x

forward_slash

x

forward_slash

x

x

forward_slash

x

x

forward_slash

x

x

x

forward_slash

x

toggle_comment

{"block": false}

forward_slash

x

x

forward_slash

x

x

forward_slash

x

x

x

forward_slash

x

x

toggle_comment

{"block": true}

forward_slash

x

x

x

forward_slash

x

x

x

forward_slash

x

x

x

x

minus

minus

x

minus

x

jump_back

minus

x

x

jump_forward

minus

x

minus

x

x

minus

x

x

minus

x

x

x

minus

x

decrease_font_size

minus

x

x

minus

x

x

minus

x

x

x

minus

x

x

minus

x

x

x

minus

x

x

x

minus

x

x

x

x

plus

plus

x

plus

x

plus

x

x

plus

x

plus

x

x

plus

x

x

plus

x

x

x

plus

x

increase_font_size

plus

x

x

plus

x

x

plus

x

x

x

plus

x

x

plus

x

x

x

plus

x

x

x

plus

x

x

x

x

close

close

x

close

x

close

x

x

close

x

close

x

x

close

x

x

close

x

x

x

close

x

close

x

x

close

x

x

close

x

x

x

close

x

x

close

x

x

x

close

x

x

x

close

x

x

x

x

copy

copy

x

copy

x

copy

x

x

copy

x

copy

x

x

copy

x

x

copy

x

x

x

copy

x

copy

x

x

copy

x

x

copy

x

x

x

copy

x

x

copy

x

x

x

copy

x

x

x

copy

x

x

x

x

cut

cut

x

cut

x

cut

x

x

cut

x

cut

x

x

cut

x

x

cut

x

x

x

cut

x

cut

x

x

cut

x

x

cut

x

x

x

cut

x

x

cut

x

x

x

cut

x

x

x

cut

x

x

x

x

find

find

x

find

x

find

x

x

find

x

find

x

x

find

x

x

find

x

x

x

find

x

find

x

x

find

x

x

find

x

x

x

find

x

x

find

x

x

x

find

x

x

x

find

x

x

x

x

open

open

x

open

x

open

x

x

open

x

open

x

x

open

x

x

open

x

x

x

open

x

open

x

x

open

x

x

open

x

x

x

open

x

x

open

x

x

x

open

x

x

x

open

x

x

x

x

paste

paste

x

paste

x

paste

x

x

paste

x

paste

x

x

paste

x

x

paste

x

x

x

paste

x

paste

x

x

paste

x

x

paste

x

x

x

paste

x

x

paste

x

x

x

paste

x

x

x

paste

x

x

x

x

redo

redo

x

redo

x

redo

x

x

redo

x

redo

x

x

redo

x

x

redo

x

x

x

redo

x

redo

x

x

redo

x

x

redo

x

x

x

redo

x

x

redo

x

x

x

redo

x

x

x

redo

x

x

x

x

save

save

x

save

x

save

x

x

save

x

save

x

x

save

x

x

save

x

x

x

save

x

save

x

x

save

x

x

save

x

x

x

save

x

x

save

x

x

x

save

x

x

x

save

x

x

x

x

sysreq

sysreq

x

sysreq

x

sysreq

x

x

sysreq

x

sysreq

x

x

sysreq

x

x

sysreq

x

x

x

sysreq

x

sysreq

x

x

sysreq

x

x

sysreq

x

x

x

sysreq

x

x

sysreq

x

x

x

sysreq

x

x

x

sysreq

x

x

x

x

undo

undo

x

undo

x

undo

x

x

undo

x

undo

x

x

undo

x

x

undo

x

x

x

undo

x

undo

x

x

undo

x

x

undo

x

x

x

undo

x

x

undo

x

x

x

undo

x

x

x

undo

x

x

x

x

browser_back

browser_back

x

browser_back

x

browser_back

x

x

browser_back

x

browser_back

x

x

browser_back

x

x

browser_back

x

x

x

browser_back

x

browser_back

x

x

browser_back

x

x

browser_back

x

x

x

browser_back

x

x

browser_back

x

x

x

browser_back

x

x

x

browser_back

x

x

x

x

browser_favorites

browser_favorites

x

browser_favorites

x

browser_favorites

x

x

browser_favorites

x

browser_favorites

x

x

browser_favorites

x

x

browser_favorites

x

x

x

browser_favorites

x

browser_favorites

x

x

browser_favorites

x

x

browser_favorites

x

x

x

browser_favorites

x

x

browser_favorites

x

x

x

browser_favorites

x

x

x

browser_favorites

x

x

x

x

browser_forward

browser_forward

x

browser_forward

x

browser_forward

x

x

browser_forward

x

browser_forward

x

x

browser_forward

x

x

browser_forward

x

x

x

browser_forward

x

browser_forward

x

x

browser_forward

x

x

browser_forward

x

x

x

browser_forward

x

x

browser_forward

x

x

x

browser_forward

x

x

x

browser_forward

x

x

x

x

browser_home

browser_home

x

browser_home

x

browser_home

x

x

browser_home

x

browser_home

x

x

browser_home

x

x

browser_home

x

x

x

browser_home

x

browser_home

x

x

browser_home

x

x

browser_home

x

x

x

browser_home

x

x

browser_home

x

x

x

browser_home

x

x

x

browser_home

x

x

x

x

browser_refresh

browser_refresh

x

browser_refresh

x

browser_refresh

x

x

browser_refresh

x

browser_refresh

x

x

browser_refresh

x

x

browser_refresh

x

x

x

browser_refresh

x

browser_refresh

x

x

browser_refresh

x

x

browser_refresh

x

x

x

browser_refresh

x

x

browser_refresh

x

x

x

browser_refresh

x

x

x

browser_refresh

x

x

x

x

browser_search

browser_search

x

browser_search

x

browser_search

x

x

browser_search

x

browser_search

x

x

browser_search

x

x

browser_search

x

x

x

browser_search

x

browser_search

x

x

browser_search

x

x

browser_search

x

x

x

browser_search

x

x

browser_search

x

x

x

browser_search

x

x

x

browser_search

x

x

x

x

browser_stop

browser_stop

x

browser_stop

x

browser_stop

x

x

browser_stop

x

browser_stop

x

x

browser_stop

x

x

browser_stop

x

x

x

browser_stop

x

browser_stop

x

x

browser_stop

x

x

browser_stop

x

x

x

browser_stop

x

x

browser_stop

x

x

x

browser_stop

x

x

x

browser_stop

x

x

x

x

<character>

<character>

x

<character>

x

<character>

x

x

<character>

x

<character>

x

x

<character>

x

x

<character>

x

x

x

<character>

x

<character>

x

x

<character>

x

x

<character>

x

x

x

<character>

x

x

<character>

x

x

x

<character>

x

x

x

<character>

x

x

x

x

"context": [
  { "key": "auto_complete_visible" }
    // Is auto-complete, mini-auto-complete or async-auto-complete popup visible?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "preceding_text"            , "operator": "regex_contains", "operand": "\"$", "match_all": true }
    // Does regex "\"$" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^\"", "match_all": true }
    // Does regex "^\"" match any of the text between left edge of selection and EOL (for all selections)?,
  { "key": "selector"                  , "operator": "not_equal"     , "operand": "punctuation.definition.string.begin", "match_all": true }
    // Does selector [punctuation.definition.string.begin] NOT match scope at selection (for all selections)?,
  { "key": "eol_selector"              , "operator": "not_equal"     , "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true }
    // Does selector [string.quoted.double - punctuation.definition.string.end] NOT match scope at EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "preceding_text"            , "operator": "regex_contains", "operand": "'$", "match_all": true }
    // Does regex "'$" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^'", "match_all": true }
    // Does regex "^'" match any of the text between left edge of selection and EOL (for all selections)?,
  { "key": "selector"                  , "operator": "not_equal"     , "operand": "punctuation.definition.string.begin", "match_all": true }
    // Does selector [punctuation.definition.string.begin] NOT match scope at selection (for all selections)?,
  { "key": "eol_selector"              , "operator": "not_equal"     , "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true }
    // Does selector [string.quoted.single - punctuation.definition.string.end] NOT match scope at EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "preceding_text"            , "operator": "regex_contains", "operand": "\\($", "match_all": true }
    // Does regex "\\($" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^\\)", "match_all": true }
    // Does regex "^\\)" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "preceding_text"            , "operator": "regex_contains", "operand": "\\[$", "match_all": true }
    // Does regex "\\[$" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^\\]", "match_all": true }
    // Does regex "^\\]" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_match_enabled" }
    // Is the View-setting [auto_match_enabled] == true?,
  { "key": "selection_empty"           , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "preceding_text"            , "operator": "regex_contains", "operand": "\\{$", "match_all": true }
    // Does regex "\\{$" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"            , "operator": "regex_contains", "operand": "^\\}", "match_all": true }
    // Does regex "^\\}" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "auto_complete_visible" , "operand": false }
    // Is auto-complete, mini-auto-complete or async-auto-complete popup NOT visible?,
  { "key": "selection_empty"       , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "setting.tab_completion" }
    // Is the View-setting [tab_completion] == true?,
  { "key": "preceding_text"        , "operator": "regex_match", "operand": ".*\\w", "match_all": true }
    // Does regex ".*\\w" fully match the text between BOL and the left edge of selection (for all selections)?
]
"context": [
  { "key": "auto_complete_visible" , "operand": false }
    // Is auto-complete, mini-auto-complete or async-auto-complete popup NOT visible?,
  { "key": "selection_empty"       , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "setting.tab_completion", "operand": false }
    // Is the View-setting [tab_completion] == false?,
  { "key": "preceding_text"        , "operator": "regex_match", "operand": ".*\\w", "match_all": true }
    // Does regex ".*\\w" fully match the text between BOL and the left edge of selection (for all selections)?
]
"context": [
  { "key": "has_snippet" }
    // Can preceding word trigger a Snippet?
]
"context": [
  { "key": "setting.auto_indent" }
    // Is the View-setting [auto_indent] == true?,
  { "key": "selection_empty"    , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "preceding_text"     , "operator": "regex_match", "operand": "^$", "match_all": true }
    // Does regex "^$" fully match the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"     , "operator": "regex_match", "operand": "^$", "match_all": true }
    // Does regex "^$" fully match the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "text", "operator": "regex_contains", "operand": "\n" }
    // Does regex "\n" match any of the selected text?
]
"context": [
  { "key": "overlay_has_focus" }
    // Does an Overlay or Quick Panel have focus?
]
"context": [
  { "key": "has_next_field" }
    // Is selection in Snippet field list with subsequent fields?
]
"context": [
  { "key": "auto_complete_visible" }
    // Is auto-complete, mini-auto-complete or async-auto-complete popup visible?
]
"context": [
  { "key": "setting.shift_tab_unindent" }
    // Is the View-setting [shift_tab_unindent] == true?
]
"context": [
  { "key": "preceding_text", "operator": "regex_match", "operand": "^[\t ]*" }
    // Does regex "^[\t ]*" fully match the text between BOL and the left edge of selection?
]
"context": [
  { "key": "text", "operator": "regex_contains", "operand": "\n" }
    // Does regex "\n" match any of the selected text?
]
"context": [
  { "key": "overlay_visible" }
    // Is any Overlay or Quick Panel visible?
]
"context": [
  { "key": "has_prev_field" }
    // Is selection in Snippet field list with previous fields?
]
"context": [
  { "key": "auto_complete_visible"               }
    // Is auto-complete, mini-auto-complete or async-auto-complete popup visible?,
  { "key": "setting.auto_complete_commit_on_tab", "operand": false }
    // Is the View-setting [auto_complete_commit_on_tab] == false?
]
"context": [
  { "key": "setting.auto_indent" }
    // Is the View-setting [auto_indent] == true?,
  { "key": "selection_empty"    , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "preceding_text"     , "operator": "regex_contains", "operand": "\\{$", "match_all": true }
    // Does regex "\\{$" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"     , "operator": "regex_contains", "operand": "^\\}", "match_all": true }
    // Does regex "^\\}" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_indent" }
    // Is the View-setting [auto_indent] == true?,
  { "key": "selection_empty"    , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "selector"           , "operand": "punctuation.definition.tag.begin", "match_all": true }
    // Does selector [punctuation.definition.tag.begin] match scope at selection (for all selections)?,
  { "key": "preceding_text"     , "operator": "regex_contains", "operand": ">$", "match_all": true }
    // Does regex ">$" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"     , "operator": "regex_contains", "operand": "^</", "match_all": true }
    // Does regex "^</" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_indent" }
    // Is the View-setting [auto_indent] == true?,
  { "key": "selection_empty"    , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "selector"           , "operand": "source comment", "match_all": true }
    // Does selector [source comment] match scope at selection (for all selections)?,
  { "key": "preceding_text"     , "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true }
    // Does regex "^\\s*\\*" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"     , "operator": "regex_match"   , "operand": "(?!/).*", "match_all": true }
    // Does regex "(?!/).*" fully match the text between left edge of selection and EOL (for all selections)?,
  { "key": "is_javadoc"         , "match_all": true }
    // Is selection within a Javadoc comment (for all selections)?
]
"context": [
  { "key": "setting.auto_indent" }
    // Is the View-setting [auto_indent] == true?,
  { "key": "selection_empty"    , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "selector"           , "operand": "source comment", "match_all": true }
    // Does selector [source comment] match scope at selection (for all selections)?,
  { "key": "preceding_text"     , "operator": "regex_contains", "operand": "^\\s*/\\*[*!]", "match_all": true }
    // Does regex "^\\s*/\\*[*!]" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"     , "operator": "regex_match"   , "operand": "(?!/).*", "match_all": true }
    // Does regex "(?!/).*" fully match the text between left edge of selection and EOL (for all selections)?,
  { "key": "is_javadoc"         , "match_all": true }
    // Is selection within a Javadoc comment (for all selections)?
]
"context": [
  { "key": "panel"          , "operand": "find" }
    // Is current visible Panel's name == "find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "replace" }
    // Is current visible Panel's name == "replace"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "incremental_find" }
    // Is current visible Panel's name == "incremental_find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "find_in_files" }
    // Is current visible Panel's name == "find_in_files"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?,
  { "key": "panel_type"     , "operand": "input" }
    // Does focused Panel's type == "input"?
]
"context": [
  { "key": "overlay_has_focus" }
    // Does an Overlay or Quick Panel have focus?
]
"context": [
  { "key": "setting.auto_indent" }
    // Is the View-setting [auto_indent] == true?,
  { "key": "selection_empty"    , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "preceding_text"     , "operator": "regex_contains", "operand": "\\{$", "match_all": true }
    // Does regex "\\{$" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"     , "operator": "regex_contains", "operand": "^\\}", "match_all": true }
    // Does regex "^\\}" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "setting.auto_indent" }
    // Is the View-setting [auto_indent] == true?,
  { "key": "selection_empty"    , "match_all": true }
    // Is selection empty (for all selections)?,
  { "key": "selector"           , "operand": "punctuation.definition.tag.begin", "match_all": true }
    // Does selector [punctuation.definition.tag.begin] match scope at selection (for all selections)?,
  { "key": "preceding_text"     , "operator": "regex_contains", "operand": ">$", "match_all": true }
    // Does regex ">$" match any of the text between BOL and the left edge of selection (for all selections)?,
  { "key": "following_text"     , "operator": "regex_contains", "operand": "^</", "match_all": true }
    // Does regex "^</" match any of the text between left edge of selection and EOL (for all selections)?
]
"context": [
  { "key": "panel"          , "operand": "find" }
    // Is current visible Panel's name == "find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "replace" }
    // Is current visible Panel's name == "replace"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "incremental_find" }
    // Is current visible Panel's name == "incremental_find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "overlay_has_focus" }
    // Does an Overlay or Quick Panel have focus?,
  { "key": "overlay_name"     , "operand": "goto" }
    // Does current Overlay's name == "goto"?
]
"context": [
  { "key": "panel"          , "operand": "find" }
    // Is current visible Panel's name == "find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "replace" }
    // Is current visible Panel's name == "replace"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "incremental_find" }
    // Is current visible Panel's name == "incremental_find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "find_in_files" }
    // Is current visible Panel's name == "find_in_files"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "overlay_has_focus" }
    // Does an Overlay or Quick Panel have focus?,
  { "key": "overlay_name"     , "operand": "goto" }
    // Does current Overlay's name == "goto"?
]
"context": [
  { "key": "panel"          , "operand": "replace" }
    // Is current visible Panel's name == "replace"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "find_in_files" }
    // Is current visible Panel's name == "find_in_files"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "overlay_has_focus", "operand": false }
    // Does an Overlay or Quick Panel NOT have focus?
]
"context": [
  { "key": "overlay_has_focus" }
    // Does an Overlay or Quick Panel have focus?,
  { "key": "overlay_name"     , "operand": "goto" }
    // Does current Overlay's name == "goto"?
]
"context": [
  { "key": "auto_complete_primed" }
    // Is actual auto-complete popup visible?
]
"context": [
  { "key": "num_selections", "operator": "not_equal" }
    // Number of selections != 1?
]
"context": [
  { "key": "has_next_field" }
    // Is selection in Snippet field list with subsequent fields?
]
"context": [
  { "key": "has_prev_field" }
    // Is selection in Snippet field list with previous fields?
]
"context": [
  { "key": "panel_visible" }
    // Is any Panel visible?
]
"context": [
  { "key": "overlay_visible" }
    // Is any Overlay or Quick Panel visible?,
  { "key": "panel_has_focus", "operand": false }
    // Are there no Panels visible with focus?
]
"context": [
  { "key": "auto_complete_visible" }
    // Is auto-complete, mini-auto-complete or async-auto-complete popup visible?
]
"context": [
  { "key": "popup_visible" }
    // Is any Popup currently being displayed?
]
"context": [
  { "key": "overlay_visible" }
    // Is any Overlay or Quick Panel visible?,
  { "key": "panel_has_focus", "operand": false }
    // Are there no Panels visible with focus?
]
"context": [
  { "key": "panel_visible", "operand": false }
    // Are there no Panels visible?
]

9.3.6. Keypad Keys

Key:
     C = ⌘ Command
     O = ⌥ Option (Alt)
     ^ = Ctrl
     S = Shift
  Ctxt = Context

Key

C

O

^

S

Ctxt

Command

Args

keypad0

keypad0

x

keypad0

x

keypad0

x

x

keypad0

x

keypad0

x

x

keypad0

x

x

keypad0

x

x

x

keypad0

x

keypad0

x

x

keypad0

x

x

keypad0

x

x

x

keypad0

x

x

keypad0

x

x

x

keypad0

x

x

x

keypad0

x

x

x

x

keypad1

keypad1

x

keypad1

x

keypad1

x

x

keypad1

x

keypad1

x

x

keypad1

x

x

keypad1

x

x

x

keypad1

x

keypad1

x

x

keypad1

x

x

keypad1

x

x

x

keypad1

x

x

keypad1

x

x

x

keypad1

x

x

x

keypad1

x

x

x

x

keypad2

keypad2

x

keypad2

x

keypad2

x

x

keypad2

x

keypad2

x

x

keypad2

x

x

keypad2

x

x

x

keypad2

x

keypad2

x

x

keypad2

x

x

keypad2

x

x

x

keypad2

x

x

keypad2

x

x

x

keypad2

x

x

x

keypad2

x

x

x

x

keypad3

keypad3

x

keypad3

x

keypad3

x

x

keypad3

x

keypad3

x

x

keypad3

x

x

keypad3

x

x

x

keypad3

x

keypad3

x

x

keypad3

x

x

keypad3

x

x

x

keypad3

x

x

keypad3

x

x

x

keypad3

x

x

x

keypad3

x

x

x

x

keypad4

keypad4

x

keypad4

x

keypad4

x

x

keypad4

x

keypad4

x

x

keypad4

x

x

keypad4

x

x

x

keypad4

x

keypad4

x

x

keypad4

x

x

keypad4

x

x

x

keypad4

x

x

keypad4

x

x

x

keypad4

x

x

x

keypad4

x

x

x

x

keypad5

keypad5

x

keypad5

x

keypad5

x

x

keypad5

x

keypad5

x

x

keypad5

x

x

keypad5

x

x

x

keypad5

x

keypad5

x

x

keypad5

x

x

keypad5

x

x

x

keypad5

x

x

keypad5

x

x

x

keypad5

x

x

x

keypad5

x

x

x

x

keypad6

keypad6

x

keypad6

x

keypad6

x

x

keypad6

x

keypad6

x

x

keypad6

x

x

keypad6

x

x

x

keypad6

x

keypad6

x

x

keypad6

x

x

keypad6

x

x

x

keypad6

x

x

keypad6

x

x

x

keypad6

x

x

x

keypad6

x

x

x

x

keypad7

keypad7

x

keypad7

x

keypad7

x

x

keypad7

x

keypad7

x

x

keypad7

x

x

keypad7

x

x

x

keypad7

x

keypad7

x

x

keypad7

x

x

keypad7

x

x

x

keypad7

x

x

keypad7

x

x

x

keypad7

x

x

x

keypad7

x

x

x

x

keypad8

keypad8

x

keypad8

x

keypad8

x

x

keypad8

x

keypad8

x

x

keypad8

x

x

keypad8

x

x

x

keypad8

x

keypad8

x

x

keypad8

x

x

keypad8

x

x

x

keypad8

x

x

keypad8

x

x

x

keypad8

x

x

x

keypad8

x

x

x

x

keypad9

keypad9

x

keypad9

x

keypad9

x

x

keypad9

x

keypad9

x

x

keypad9

x

x

keypad9

x

x

x

keypad9

x

keypad9

x

x

keypad9

x

x

keypad9

x

x

x

keypad9

x

x

keypad9

x

x

x

keypad9

x

x

x

keypad9

x

x

x

x

keypad_period

keypad_period

x

keypad_period

x

keypad_period

x

x

keypad_period

x

keypad_period

x

x

keypad_period

x

x

keypad_period

x

x

x

keypad_period

x

keypad_period

x

x

keypad_period

x

x

keypad_period

x

x

x

keypad_period

x

x

keypad_period

x

x

x

keypad_period

x

x

x

keypad_period

x

x

x

x

keypad_divide

keypad_divide

x

keypad_divide

x

keypad_divide

x

x

keypad_divide

x

keypad_divide

x

x

keypad_divide

x

x

keypad_divide

x

x

x

keypad_divide

x

keypad_divide

x

x

keypad_divide

x

x

keypad_divide

x

x

x

keypad_divide

x

x

keypad_divide

x

x

x

keypad_divide

x

x

x

keypad_divide

x

x

x

x

keypad_multiply

keypad_multiply

x

keypad_multiply

x

keypad_multiply

x

x

keypad_multiply

x

keypad_multiply

x

x

keypad_multiply

x

x

keypad_multiply

x

x

x

keypad_multiply

x

keypad_multiply

x

x

keypad_multiply

x

x

keypad_multiply

x

x

x

keypad_multiply

x

x

keypad_multiply

x

x

x

keypad_multiply

x

x

x

keypad_multiply

x

x

x

x

keypad_minus

keypad_minus

x

keypad_minus

x

jump_back

keypad_minus

x

x

jump_forward

keypad_minus

x

keypad_minus

x

x

keypad_minus

x

x

keypad_minus

x

x

x

keypad_minus

x

decrease_font_size

keypad_minus

x

x

keypad_minus

x

x

keypad_minus

x

x

x

keypad_minus

x

x

keypad_minus

x

x

x

keypad_minus

x

x

x

keypad_minus

x

x

x

x

keypad_plus

keypad_plus

x

keypad_plus

x

keypad_plus

x

x

keypad_plus

x

keypad_plus

x

x

keypad_plus

x

x

keypad_plus

x

x

x

keypad_plus

x

increase_font_size

keypad_plus

x

x

keypad_plus

x

x

keypad_plus

x

x

x

keypad_plus

x

x

keypad_plus

x

x

x

keypad_plus

x

x

x

keypad_plus

x

x

x

x

keypad_enter

[90]

commit_completion

keypad_enter

[91]

find_next

keypad_enter

[92]

find_next

keypad_enter

[93]

hide_panel

keypad_enter

[94]

find_all

keypad_enter

[95]

select

keypad_enter

[96]

select

keypad_enter

x

[97]

find_prev

keypad_enter

x

[98]

find_prev

keypad_enter

x

[99]

chain

{"commands": [{"command": "find_prev"}, {"command": "hide_panel"}]}

keypad_enter

x

[100]

select

{"extend": true}

keypad_enter

x

keypad_enter

x

x

keypad_enter

x

[101]

find_all

{"close_panel": true}

keypad_enter

x

[102]

find_all

{"close_panel": true}

keypad_enter

x

[103]

find_all

{"close_panel": true}

keypad_enter

x

[104]

find_all

keypad_enter

x

[105]

select

{"replace": true}

keypad_enter

x

x

keypad_enter

x

x

[106]

replace_all

{"close_panel": true}

keypad_enter

x

x

[107]

replace_all

keypad_enter

x

x

x

keypad_enter

x

[108]

run_macro_file

{"file": "res://Packages/Default/Add Line.sublime-macro"}

keypad_enter

x

[109]

select

{"clear_to_right": true, "extend": true}

keypad_enter

x

x

run_macro_file

{"file": "res://Packages/Default/Add Line Before.sublime-macro"}

keypad_enter

x

x

keypad_enter

x

x

x

keypad_enter

x

x

keypad_enter

x

x

x

keypad_enter

x

x

x

keypad_enter

x

x

x

x

clear

clear

x

clear

x

clear

x

x

clear

x

clear

x

x

clear

x

x

clear

x

x

x

clear

x

clear

x

x

clear

x

x

clear

x

x

x

clear

x

x

clear

x

x

x

clear

x

x

x

clear

x

x

x

x

"context": [
  { "key": "auto_complete_visible"               }
    // Is auto-complete, mini-auto-complete or async-auto-complete popup visible?,
  { "key": "setting.auto_complete_commit_on_tab", "operand": false }
    // Is the View-setting [auto_complete_commit_on_tab] == false?
]
"context": [
  { "key": "panel"          , "operand": "find" }
    // Is current visible Panel's name == "find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "replace" }
    // Is current visible Panel's name == "replace"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "incremental_find" }
    // Is current visible Panel's name == "incremental_find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "find_in_files" }
    // Is current visible Panel's name == "find_in_files"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?,
  { "key": "panel_type"     , "operand": "input" }
    // Does focused Panel's type == "input"?
]
"context": [
  { "key": "overlay_has_focus" }
    // Does an Overlay or Quick Panel have focus?
]
"context": [
  { "key": "panel"          , "operand": "find" }
    // Is current visible Panel's name == "find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "replace" }
    // Is current visible Panel's name == "replace"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "incremental_find" }
    // Is current visible Panel's name == "incremental_find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "overlay_has_focus" }
    // Does an Overlay or Quick Panel have focus?,
  { "key": "overlay_name"     , "operand": "goto" }
    // Does current Overlay's name == "goto"?
]
"context": [
  { "key": "panel"          , "operand": "find" }
    // Is current visible Panel's name == "find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "replace" }
    // Is current visible Panel's name == "replace"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "incremental_find" }
    // Is current visible Panel's name == "incremental_find"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "find_in_files" }
    // Is current visible Panel's name == "find_in_files"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "overlay_has_focus" }
    // Does an Overlay or Quick Panel have focus?,
  { "key": "overlay_name"     , "operand": "goto" }
    // Does current Overlay's name == "goto"?
]
"context": [
  { "key": "panel"          , "operand": "replace" }
    // Is current visible Panel's name == "replace"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "panel"          , "operand": "find_in_files" }
    // Is current visible Panel's name == "find_in_files"?,
  { "key": "panel_has_focus" }
    // Is any Panel visible with focus?
]
"context": [
  { "key": "overlay_has_focus", "operand": false }
    // Does an Overlay or Quick Panel NOT have focus?
]
"context": [
  { "key": "overlay_has_focus" }
    // Does an Overlay or Quick Panel have focus?,
  { "key": "overlay_name"     , "operand": "goto" }
    // Does current Overlay's name == "goto"?
]

9.3.7. Leading Key: Command-J

Key:
     C = ⌘ Command
     O = ⌥ Option (Alt)
     ^ = Ctrl
     S = Shift
  Ctxt = Context

Key

C

O

^

S

Ctxt

Command

Args

j

x

primary_j_changed

[

x

x

focus_to_left

]

x

x

focus_to_right

up

x

unselect_others

left

x

unselect_to_left

left

x

x

select_to_left

right

x

unselect_to_right

right

x

x

select_to_right

9.3.8. Leading Key: Command-K

Key:
     C = ⌘ Command
     O = ⌥ Option (Alt)
     ^ = Ctrl
     S = Shift
  Ctxt = Context

Key

C

O

^

S

Ctxt

Command

Args

1

x

fold_by_level

{"level": 1}

2

x

fold_by_level

{"level": 2}

3

x

fold_by_level

{"level": 3}

4

x

fold_by_level

{"level": 4}

5

x

fold_by_level

{"level": 5}

6

x

fold_by_level

{"level": 6}

7

x

fold_by_level

{"level": 7}

8

x

fold_by_level

{"level": 8}

9

x

fold_by_level

{"level": 9}

0

x

unfold_all

a

x

select_to_mark

b

x

toggle_side_bar

c

x

show_at_center

d

x

find_under_expand_skip

g

x

clear_bookmarks

{"name": "mark"}

j

x

unfold_all

k

x

run_macro_file

{"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"}

l

x

lower_case

m

x

set_mark

t

x

fold_tag_attributes

u

x

upper_case

v

x

paste_from_history

w

x

delete_to_mark

x

x

swap_with_mark

y

x

yank

z

x

revert_hunk

z

x

x

revert_modification

;

x

toggle_inline_diff

{"prefer_hide": true}

]

x

reindent

{"single_line": true}

up

x

new_pane

up

x

x

new_pane

{"move": false}

down

x

close_pane

left

x

focus_neighboring_group

{"forward": false}

left

x

x

move_to_neighboring_group

{"forward": false}

right

x

focus_neighboring_group

right

x

x

move_to_neighboring_group

backspace

x

run_macro_file

{"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"}

forward_slash

x

toggle_inline_diff