9.2. Default Key Bindings (Linux)
9.2.1. Number Keys
Key:
A = Alt
C = Ctrl
S = Shift
Ctxt = Context
Key |
A |
C |
S |
Ctxt |
Command |
Args |
|---|---|---|---|---|---|---|
1 |
||||||
1 |
x |
|||||
1 |
x |
focus_group |
{"group": 0} |
|||
1 |
x |
x |
move_to_group |
{"group": 0} |
||
1 |
x |
select_by_index |
{"index": 0} |
|||
1 |
x |
focus_by_index |
{"index": 0} |
|||
1 |
x |
x |
set_layout |
{"cells": [[0, 0, 1, 1]], "cols": [0.0, 1.0], "rows": [0.0, 1.0]} |
||
1 |
x |
x |
||||
1 |
x |
x |
x |
|||
2 |
||||||
2 |
x |
|||||
2 |
x |
focus_group |
{"group": 1} |
|||
2 |
x |
x |
move_to_group |
{"group": 1} |
||
2 |
x |
select_by_index |
{"index": 1} |
|||
2 |
x |
focus_by_index |
{"index": 1} |
|||
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 |
||||
2 |
x |
x |
x |
|||
3 |
||||||
3 |
x |
|||||
3 |
x |
focus_group |
{"group": 2} |
|||
3 |
x |
x |
move_to_group |
{"group": 2} |
||
3 |
x |
select_by_index |
{"index": 2} |
|||
3 |
x |
focus_by_index |
{"index": 2} |
|||
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 |
||||
3 |
x |
x |
x |
|||
4 |
||||||
4 |
x |
|||||
4 |
x |
focus_group |
{"group": 3} |
|||
4 |
x |
x |
move_to_group |
{"group": 3} |
||
4 |
x |
select_by_index |
{"index": 3} |
|||
4 |
x |
focus_by_index |
{"index": 3} |
|||
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 |
||||
4 |
x |
x |
x |
|||
5 |
||||||
5 |
x |
|||||
5 |
x |
focus_group |
{"group": 4} |
|||
5 |
x |
x |
move_to_group |
{"group": 4} |
||
5 |
x |
select_by_index |
{"index": 4} |
|||
5 |
x |
focus_by_index |
{"index": 4} |
|||
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 |
||||
5 |
x |
x |
x |
|||
6 |
||||||
6 |
x |
|||||
6 |
x |
focus_group |
{"group": 5} |
|||
6 |
x |
x |
move_to_group |
{"group": 5} |
||
6 |
x |
select_by_index |
{"index": 5} |
|||
6 |
x |
focus_by_index |
{"index": 5} |
|||
6 |
x |
x |
||||
6 |
x |
x |
||||
6 |
x |
x |
x |
|||
7 |
||||||
7 |
x |
|||||
7 |
x |
focus_group |
{"group": 6} |
|||
7 |
x |
x |
move_to_group |
{"group": 6} |
||
7 |
x |
select_by_index |
{"index": 6} |
|||
7 |
x |
focus_by_index |
{"index": 6} |
|||
7 |
x |
x |
||||
7 |
x |
x |
||||
7 |
x |
x |
x |
|||
8 |
||||||
8 |
x |
|||||
8 |
x |
focus_group |
{"group": 7} |
|||
8 |
x |
x |
move_to_group |
{"group": 7} |
||
8 |
x |
select_by_index |
{"index": 7} |
|||
8 |
x |
focus_by_index |
{"index": 7} |
|||
8 |
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]} |
||
8 |
x |
x |
||||
8 |
x |
x |
x |
|||
9 |
||||||
9 |
x |
|||||
9 |
x |
focus_group |
{"group": 8} |
|||
9 |
x |
x |
move_to_group |
{"group": 8} |
||
9 |
x |
select_last_tab |
||||
9 |
x |
focus_by_index |
{"index": 8} |
|||
9 |
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]} |
||
9 |
x |
x |
||||
9 |
x |
x |
x |
|||
0 |
||||||
0 |
x |
|||||
0 |
x |
focus_side_bar |
||||
0 |
x |
x |
||||
0 |
x |
focus_by_index |
{"index": 9} |
|||
0 |
x |
x |
||||
0 |
x |
x |
||||
0 |
x |
x |
x |
"context": [
{ "key": "group_has_multiselect" }
// Does View group have multi-select?
]
Context for Alt-2: focus_by_index {“index”: 1}
"context": [
{ "key": "group_has_multiselect" }
// Does View group have multi-select?
]
Context for Alt-3: focus_by_index {“index”: 2}
"context": [
{ "key": "group_has_multiselect" }
// Does View group have multi-select?
]
Context for Alt-4: focus_by_index {“index”: 3}
"context": [
{ "key": "group_has_multiselect" }
// Does View group have multi-select?
]
Context for Alt-5: focus_by_index {“index”: 4}
"context": [
{ "key": "group_has_multiselect" }
// Does View group have multi-select?
]
Context for Alt-6: focus_by_index {“index”: 5}
"context": [
{ "key": "group_has_multiselect" }
// Does View group have multi-select?
]
Context for Alt-7: focus_by_index {“index”: 6}
"context": [
{ "key": "group_has_multiselect" }
// Does View group have multi-select?
]
Context for Alt-8: focus_by_index {“index”: 7}
"context": [
{ "key": "group_has_multiselect" }
// Does View group have multi-select?
]
Context for Alt-9: focus_by_index {“index”: 8}
"context": [
{ "key": "group_has_multiselect" }
// Does View group have multi-select?
]
Context for Alt-0: focus_by_index {“index”: 9}
"context": [
{ "key": "group_has_multiselect" }
// Does View group have multi-select?
]
9.2.2. Letter Keys
Key:
A = Alt
C = Ctrl
S = Shift
Ctxt = Context
Key |
A |
C |
S |
Ctxt |
Command |
Args |
|---|---|---|---|---|---|---|
a |
||||||
a |
x |
|||||
a |
x |
select_all |
||||
a |
x |
x |
expand_selection |
{"to": "smart"} |
||
a |
x |
x |
expand_selection |
{"to": "tag"} |
||
a |
x |
toggle_preserve_case |
||||
a |
x |
x |
||||
a |
x |
x |
||||
a |
x |
x |
x |
|||
b |
||||||
b |
x |
|||||
b |
x |
build |
||||
b |
x |
x |
build |
{"select": true} |
||
b |
x |
|||||
b |
x |
x |
||||
b |
x |
x |
||||
b |
x |
x |
x |
|||
c |
||||||
c |
x |
|||||
c |
x |
copy |
||||
c |
x |
x |
||||
c |
x |
toggle_case_sensitive |
||||
c |
x |
x |
||||
c |
x |
x |
||||
c |
x |
x |
x |
|||
d |
||||||
d |
x |
|||||
d |
x |
find_under_expand |
||||
d |
x |
x |
duplicate_line |
|||
d |
x |
|||||
d |
x |
x |
||||
d |
x |
x |
||||
d |
x |
x |
x |
|||
e |
||||||
e |
x |
|||||
e |
x |
slurp_find_string |
||||
e |
x |
x |
slurp_replace_string |
|||
e |
x |
|||||
e |
x |
x |
||||
e |
x |
x |
||||
e |
x |
x |
x |
|||
f |
||||||
f |
x |
|||||
f |
x |
show_panel |
{"panel": "find", "reverse": false} |
|||
f |
x |
x |
show_panel |
{"panel": "find_in_files"} |
||
f |
x |
|||||
f |
x |
x |
||||
f |
x |
x |
||||
f |
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 |
|||
h |
||||||
h |
x |
|||||
h |
x |
show_panel |
{"panel": "replace", "reverse": false} |
|||
h |
x |
x |
replace_next |
|||
h |
x |
|||||
h |
x |
x |
||||
h |
x |
x |
||||
h |
x |
x |
x |
|||
i |
||||||
i |
x |
|||||
i |
x |
show_panel |
{"panel": "incremental_find", "reverse": false} |
|||
i |
x |
x |
show_panel |
{"panel": "incremental_find", "reverse": true} |
||
i |
x |
|||||
i |
x |
x |
||||
i |
x |
x |
||||
i |
x |
x |
x |
|||
j |
||||||
j |
x |
|||||
j |
x |
|||||
j |
x |
x |
join_lines |
|||
j |
x |
|||||
j |
x |
x |
||||
j |
x |
x |
||||
j |
x |
x |
x |
|||
k |
||||||
k |
x |
|||||
k |
x |
|||||
k |
x |
x |
run_macro_file |
|
||
k |
x |
|||||
k |
x |
x |
||||
k |
x |
x |
||||
k |
x |
x |
x |
|||
l |
||||||
l |
x |
|||||
l |
x |
expand_selection |
{"to": "line"} |
|||
l |
x |
x |
split_selection_into_lines |
|||
l |
x |
expand_selection |
{"to": "line_prev"} |
|||
l |
x |
x |
||||
l |
x |
x |
||||
l |
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 |
|||
n |
||||||
n |
x |
|||||
n |
x |
new_file |
||||
n |
x |
x |
new_window |
|||
n |
x |
|||||
n |
x |
x |
||||
n |
x |
x |
||||
n |
x |
x |
x |
|||
o |
||||||
o |
x |
|||||
o |
x |
prompt_open_file |
||||
o |
x |
x |
||||
o |
x |
switch_file |
{"extensions": ["cpp", "cxx", "cc", "c", "hpp", "hxx", "hh", "h", "ipp", "inl", "m", "mm"]} |
|||
o |
x |
x |
switch_file |
{"extensions": ["cpp", "cxx", "cc", "c", "hpp", "hxx", "hh", "h", "ipp", "inl", "m", "mm"], "side_by_side": true} |
||
o |
x |
x |
||||
o |
x |
x |
x |
|||
p |
||||||
p |
x |
|||||
p |
x |
show_overlay |
{"overlay": "goto", "show_files": true} |
|||
p |
x |
x |
show_overlay |
{"overlay": "command_palette"} |
||
p |
x |
|||||
p |
x |
x |
||||
p |
x |
x |
prompt_select_workspace |
|||
p |
x |
x |
x |
show_scope_name |
||
q |
||||||
q |
x |
|||||
q |
x |
exit |
||||
q |
x |
x |
||||
q |
x |
wrap_lines |
||||
q |
x |
x |
||||
q |
x |
x |
toggle_record_macro |
|||
q |
x |
x |
x |
run_macro |
||
r |
||||||
r |
x |
|||||
r |
x |
show_overlay |
{"overlay": "goto", "text": "@"} |
|||
r |
x |
x |
goto_symbol_in_project |
|||
r |
x |
toggle_regex |
||||
r |
x |
x |
||||
r |
x |
x |
||||
r |
x |
x |
x |
|||
s |
||||||
s |
x |
|||||
s |
x |
save |
{"async": true} |
|||
s |
x |
x |
prompt_save_as |
|||
s |
x |
|||||
s |
x |
x |
||||
s |
x |
x |
||||
s |
x |
x |
x |
|||
t |
||||||
t |
x |
|||||
t |
x |
transpose |
||||
t |
x |
x |
reopen_last_file |
{"source": "window"} |
||
t |
x |
|||||
t |
x |
x |
||||
t |
x |
x |
||||
t |
x |
x |
x |
|||
u |
||||||
u |
x |
|||||
u |
x |
soft_undo |
||||
u |
x |
x |
soft_redo |
|||
u |
x |
|||||
u |
x |
x |
||||
u |
x |
x |
||||
u |
x |
x |
x |
|||
v |
||||||
v |
x |
|||||
v |
x |
paste |
||||
v |
x |
x |
paste_and_indent |
|||
v |
x |
|||||
v |
x |
x |
||||
v |
x |
x |
||||
v |
x |
x |
x |
|||
w |
||||||
w |
x |
|||||
w |
x |
close |
||||
w |
x |
close_transient |
||||
w |
x |
x |
close_window |
|||
w |
x |
toggle_whole_word |
||||
w |
x |
x |
insert_snippet |
{"name": "Packages/XML/Snippets/xml-long-tag.sublime-snippet"} |
||
w |
x |
x |
||||
w |
x |
x |
x |
|||
x |
||||||
x |
x |
|||||
x |
x |
cut |
||||
x |
x |
x |
||||
x |
x |
|||||
x |
x |
x |
||||
x |
x |
x |
||||
x |
x |
x |
x |
|||
y |
||||||
y |
x |
|||||
y |
x |
redo_or_repeat |
||||
y |
x |
x |
||||
y |
x |
|||||
y |
x |
x |
||||
y |
x |
x |
||||
y |
x |
x |
x |
|||
z |
||||||
z |
x |
|||||
z |
x |
undo |
||||
z |
x |
x |
redo |
|||
z |
x |
|||||
z |
x |
x |
||||
z |
x |
x |
||||
z |
x |
x |
x |
Context for Ctrl-Shift-A: expand_selection {“to”: “tag”}
"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 for Alt-A: toggle_preserve_case
"context": [
{ "key": "panel_type" , "operand": "find" }
// Does focused Panel's type == "find"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Alt-C: toggle_case_sensitive
"context": [
{ "key": "panel_type" , "operand": "find" }
// Does focused Panel's type == "find"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Alt-R: toggle_regex
"context": [
{ "key": "panel_type" , "operand": "find" }
// Does focused Panel's type == "find"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Ctrl-W: close_transient
"context": [
{ "key": "group_has_transient_sheet" }
// Does View group have a transient sheet?
]
Context for Alt-W: toggle_whole_word
"context": [
{ "key": "panel_type" , "operand": "find" }
// Does focused Panel's type == "find"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
9.2.3. Function Keys
Key:
A = Alt
C = Ctrl
S = Shift
Ctxt = Context
Key |
A |
C |
S |
Ctxt |
Command |
Args |
|---|---|---|---|---|---|---|
f1 |
||||||
f1 |
x |
|||||
f1 |
x |
|||||
f1 |
x |
x |
||||
f1 |
x |
|||||
f1 |
x |
x |
||||
f1 |
x |
x |
||||
f1 |
x |
x |
x |
|||
f2 |
next_bookmark |
|||||
f2 |
x |
prev_bookmark |
||||
f2 |
x |
toggle_bookmark |
{"toggle_line": true} |
|||
f2 |
x |
x |
clear_bookmarks |
|||
f2 |
x |
select_all_bookmarks |
||||
f2 |
x |
x |
||||
f2 |
x |
x |
||||
f2 |
x |
x |
x |
|||
f3 |
find_next |
|||||
f3 |
x |
find_prev |
||||
f3 |
x |
find_under |
||||
f3 |
x |
x |
find_under_prev |
|||
f3 |
x |
find_all_under |
||||
f3 |
x |
x |
||||
f3 |
x |
x |
||||
f3 |
x |
x |
x |
|||
f4 |
next_result |
|||||
f4 |
x |
prev_result |
||||
f4 |
x |
close_file |
||||
f4 |
x |
x |
||||
f4 |
x |
|||||
f4 |
x |
x |
||||
f4 |
x |
x |
||||
f4 |
x |
x |
x |
|||
f5 |
||||||
f5 |
x |
|||||
f5 |
x |
|||||
f5 |
x |
x |
||||
f5 |
x |
|||||
f5 |
x |
x |
||||
f5 |
x |
x |
||||
f5 |
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 |
|||
f7 |
build |
|||||
f7 |
x |
|||||
f7 |
x |
|||||
f7 |
x |
x |
||||
f7 |
x |
|||||
f7 |
x |
x |
||||
f7 |
x |
x |
||||
f7 |
x |
x |
x |
|||
f8 |
||||||
f8 |
x |
|||||
f8 |
x |
|||||
f8 |
x |
x |
||||
f8 |
x |
|||||
f8 |
x |
x |
||||
f8 |
x |
x |
||||
f8 |
x |
x |
x |
|||
f9 |
sort_lines |
{"case_sensitive": false} |
||||
f9 |
x |
|||||
f9 |
x |
sort_lines |
{"case_sensitive": true} |
|||
f9 |
x |
x |
||||
f9 |
x |
|||||
f9 |
x |
x |
||||
f9 |
x |
x |
||||
f9 |
x |
x |
x |
|||
f10 |
||||||
f10 |
x |
context_menu |
||||
f10 |
x |
|||||
f10 |
x |
x |
||||
f10 |
x |
|||||
f10 |
x |
x |
||||
f10 |
x |
x |
||||
f10 |
x |
x |
x |
|||
f11 |
toggle_full_screen |
|||||
f11 |
x |
toggle_distraction_free |
||||
f11 |
x |
|||||
f11 |
x |
x |
||||
f11 |
x |
|||||
f11 |
x |
x |
||||
f11 |
x |
x |
||||
f11 |
x |
x |
x |
|||
f12 |
goto_definition |
|||||
f12 |
auto_complete_open_link |
|||||
f12 |
x |
goto_reference |
||||
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 |
|||||
f12 |
x |
x |
||||
f12 |
x |
x |
||||
f12 |
x |
x |
x |
|||
f13 |
||||||
f13 |
x |
|||||
f13 |
x |
|||||
f13 |
x |
x |
||||
f13 |
x |
|||||
f13 |
x |
x |
||||
f13 |
x |
x |
||||
f13 |
x |
x |
x |
|||
f14 |
||||||
f14 |
x |
|||||
f14 |
x |
|||||
f14 |
x |
x |
||||
f14 |
x |
|||||
f14 |
x |
x |
||||
f14 |
x |
x |
||||
f14 |
x |
x |
x |
|||
f15 |
||||||
f15 |
x |
|||||
f15 |
x |
|||||
f15 |
x |
x |
||||
f15 |
x |
|||||
f15 |
x |
x |
||||
f15 |
x |
x |
||||
f15 |
x |
x |
x |
|||
f16 |
||||||
f16 |
x |
|||||
f16 |
x |
|||||
f16 |
x |
x |
||||
f16 |
x |
|||||
f16 |
x |
x |
||||
f16 |
x |
x |
||||
f16 |
x |
x |
x |
|||
f17 |
||||||
f17 |
x |
|||||
f17 |
x |
|||||
f17 |
x |
x |
||||
f17 |
x |
|||||
f17 |
x |
x |
||||
f17 |
x |
x |
||||
f17 |
x |
x |
x |
|||
f18 |
||||||
f18 |
x |
|||||
f18 |
x |
|||||
f18 |
x |
x |
||||
f18 |
x |
|||||
f18 |
x |
x |
||||
f18 |
x |
x |
||||
f18 |
x |
x |
x |
|||
f19 |
||||||
f19 |
x |
|||||
f19 |
x |
|||||
f19 |
x |
x |
||||
f19 |
x |
|||||
f19 |
x |
x |
||||
f19 |
x |
x |
||||
f19 |
x |
x |
x |
|||
f20 |
||||||
f20 |
x |
|||||
f20 |
x |
|||||
f20 |
x |
x |
||||
f20 |
x |
|||||
f20 |
x |
x |
||||
f20 |
x |
x |
||||
f20 |
x |
x |
x |
Context for F12: auto_complete_open_link
"context": [
{ "key": "auto_complete_visible" }
// Is auto-complete, mini-auto-complete or async-auto-complete popup visible?
]
9.2.4. Symbol Keys
Key:
A = Alt
C = Ctrl
S = Shift
Ctxt = Context
Key |
A |
C |
S |
Ctxt |
Command |
Args |
|---|---|---|---|---|---|---|
' |
insert_snippet |
{"contents": "'$0'"} |
||||
' |
insert_snippet |
{"contents": "'${0:$SELECTION}'"} |
||||
' |
move |
{"by": "characters", "forward": true} |
||||
' |
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 |
|||||
- |
x |
decrease_font_size |
||||
- |
x |
x |
||||
- |
x |
jump_back |
||||
- |
x |
x |
jump_forward |
|||
- |
x |
x |
||||
- |
x |
x |
x |
|||
. |
||||||
. |
x |
|||||
. |
x |
next_modification |
||||
. |
x |
x |
||||
. |
x |
close_tag |
||||
. |
x |
x |
||||
. |
x |
x |
||||
. |
x |
x |
x |
|||
/ |
close_tag |
{"insert_slash": true} |
||||
/ |
x |
|||||
/ |
x |
toggle_comment |
{"block": false} |
|||
/ |
x |
x |
toggle_comment |
{"block": true} |
||
/ |
x |
auto_complete |
||||
/ |
x |
move |
{"by": "lines", "forward": true} |
|||
/ |
x |
x |
||||
/ |
x |
x |
||||
/ |
x |
x |
x |
|||
; |
||||||
; |
x |
|||||
; |
x |
show_overlay |
{"overlay": "goto", "text": "#"} |
|||
; |
x |
x |
||||
; |
x |
|||||
; |
x |
x |
||||
; |
x |
x |
||||
; |
x |
x |
x |
|||
= |
||||||
= |
x |
|||||
= |
x |
increase_font_size |
||||
= |
x |
x |
||||
= |
x |
|||||
= |
x |
x |
||||
= |
x |
x |
||||
= |
x |
x |
x |
|||
[ |
insert_snippet |
{"contents": "[$0]"} |
||||
[ |
insert_snippet |
{"contents": "[${0:$SELECTION}]"} |
||||
[ |
x |
|||||
[ |
x |
unindent |
||||
[ |
x |
x |
fold |
|||
[ |
x |
|||||
[ |
x |
x |
||||
[ |
x |
x |
||||
[ |
x |
x |
x |
|||
\ |
||||||
\ |
x |
|||||
\ |
x |
|||||
\ |
x |
x |
||||
\ |
x |
|||||
\ |
x |
x |
||||
\ |
x |
x |
||||
\ |
x |
x |
x |
|||
] |
move |
{"by": "characters", "forward": true} |
||||
] |
x |
|||||
] |
x |
indent |
||||
] |
x |
x |
unfold |
|||
] |
x |
|||||
] |
x |
x |
||||
] |
x |
x |
||||
] |
x |
x |
x |
|||
` |
||||||
` |
x |
|||||
` |
x |
show_panel |
{"panel": "console", "toggle": true} |
|||
` |
x |
x |
||||
` |
x |
|||||
` |
x |
x |
||||
` |
x |
x |
||||
` |
x |
x |
x |
|||
! |
||||||
! |
x |
|||||
! |
x |
|||||
! |
x |
x |
||||
! |
x |
|||||
! |
x |
x |
||||
! |
x |
x |
||||
! |
x |
x |
x |
|||
" |
insert_snippet |
{"contents": "\"$0\""} |
||||
" |
insert_snippet |
{"contents": "\"${0:$SELECTION}\""} |
||||
" |
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 |
|||
( |
insert_snippet |
{"contents": "($0)"} |
||||
( |
insert_snippet |
{"contents": "(${0:$SELECTION})"} |
||||
( |
x |
|||||
( |
x |
|||||
( |
x |
x |
||||
( |
x |
|||||
( |
x |
x |
||||
( |
x |
x |
||||
( |
x |
x |
x |
|||
) |
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 |
increase_font_size |
||||
+ |
x |
x |
||||
+ |
x |
|||||
+ |
x |
x |
||||
+ |
x |
x |
||||
+ |
x |
x |
x |
|||
: |
||||||
: |
x |
|||||
: |
x |
|||||
: |
x |
x |
||||
: |
x |
|||||
: |
x |
x |
||||
: |
x |
x |
||||
: |
x |
x |
x |
|||
< |
||||||
< |
x |
|||||
< |
x |
|||||
< |
x |
x |
||||
< |
x |
|||||
< |
x |
x |
||||
< |
x |
x |
||||
< |
x |
x |
x |
|||
> |
||||||
> |
x |
|||||
> |
x |
|||||
> |
x |
x |
||||
> |
x |
|||||
> |
x |
x |
||||
> |
x |
x |
||||
> |
x |
x |
x |
|||
? |
||||||
? |
x |
|||||
? |
x |
|||||
? |
x |
x |
||||
? |
x |
|||||
? |
x |
x |
||||
? |
x |
x |
||||
? |
x |
x |
x |
|||
@ |
||||||
@ |
x |
|||||
@ |
x |
|||||
@ |
x |
x |
||||
@ |
x |
|||||
@ |
x |
x |
||||
@ |
x |
x |
||||
@ |
x |
x |
x |
|||
^ |
||||||
^ |
x |
|||||
^ |
x |
|||||
^ |
x |
x |
||||
^ |
x |
|||||
^ |
x |
x |
||||
^ |
x |
x |
||||
^ |
x |
x |
x |
|||
_ |
||||||
_ |
x |
|||||
_ |
x |
|||||
_ |
x |
x |
||||
_ |
x |
|||||
_ |
x |
x |
||||
_ |
x |
x |
||||
_ |
x |
x |
x |
|||
{ |
insert_snippet |
{"contents": "{$0}"} |
||||
{ |
wrap_block |
{"begin": "{", "end": "}"} |
||||
{ |
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 |
|||
} |
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 |
Context for ': insert_snippet {“contents”: “’$0’”}
"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 for ': insert_snippet {“contents”: “’${0:$SELECTION}’”}
"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 for ': move {“by”: “characters”, “forward”: 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": "^'", "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 for /: close_tag {“insert_slash”: true}
"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 for Alt-/: move {“by”: “lines”, “forward”: true}
"context": [
{ "key": "auto_complete_primed" }
// Is actual auto-complete popup visible?
]
Context for [: insert_snippet {“contents”: “[$0]”}
"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 for [: insert_snippet {“contents”: “[${0:$SELECTION}]”}
"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 for ]: move {“by”: “characters”, “forward”: 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": "^\\]", "match_all": true }
// Does regex "^\\]" match any of the text between left edge of selection and EOL (for all selections)?
]
Context for ": insert_snippet {“contents”: “"$0"”}
"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 for ": insert_snippet {“contents”: “"${0:$SELECTION}"”}
"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 for ": move {“by”: “characters”, “forward”: 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": "^\"", "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 for (: insert_snippet {“contents”: “($0)”}
"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 for (: insert_snippet {“contents”: “(${0:$SELECTION})”}
"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 for ): move {“by”: “characters”, “forward”: 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": "^\\)", "match_all": true }
// Does regex "^\\)" match any of the text between left edge of selection and EOL (for all selections)?
]
Context for {: insert_snippet {“contents”: “{$0}”}
"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 for {: wrap_block {“begin”: “{”, “end”: “}”}
"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 for {: insert_snippet {“contents”: “{${0:$SELECTION}}”}
"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 for }: move {“by”: “characters”, “forward”: 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": "^\\}", "match_all": true }
// Does regex "^\\}" match any of the text between left edge of selection and EOL (for all selections)?
]
9.2.5. Named Keys
Key:
A = Alt
C = Ctrl
S = Shift
Ctxt = Context
Key |
A |
C |
S |
Ctxt |
Command |
Args |
|---|---|---|---|---|---|---|
up |
move |
{"by": "lines", "forward": false} |
||||
up |
x |
move |
{"by": "lines", "extend": true, "forward": false} |
|||
up |
x |
scroll_lines |
{"amount": 1.0} |
|||
up |
x |
x |
swap_line_up |
|||
up |
x |
|||||
up |
x |
x |
select_lines |
{"forward": false} |
||
up |
x |
x |
||||
up |
x |
x |
x |
|||
down |
move |
{"by": "lines", "forward": true} |
||||
down |
x |
move |
{"by": "lines", "extend": true, "forward": true} |
|||
down |
x |
scroll_lines |
{"amount": -1.0} |
|||
down |
x |
x |
swap_line_down |
|||
down |
x |
|||||
down |
x |
x |
select_lines |
{"forward": true} |
||
down |
x |
x |
||||
down |
x |
x |
x |
|||
left |
move |
{"by": "characters", "forward": false} |
||||
left |
x |
move |
{"by": "characters", "extend": true, "forward": false} |
|||
left |
x |
move |
{"by": "words", "forward": false} |
|||
left |
x |
x |
move |
{"by": "words", "extend": true, "forward": false} |
||
left |
x |
move |
{"by": "subwords", "forward": false} |
|||
left |
x |
x |
move |
{"by": "subwords", "extend": true, "forward": false} |
||
left |
x |
x |
||||
left |
x |
x |
x |
|||
right |
move |
{"by": "characters", "forward": true} |
||||
right |
x |
move |
{"by": "characters", "extend": true, "forward": true} |
|||
right |
x |
move |
{"by": "word_ends", "forward": true} |
|||
right |
x |
x |
move |
{"by": "word_ends", "extend": true, "forward": true} |
||
right |
x |
move |
{"by": "subword_ends", "forward": true} |
|||
right |
x |
x |
move |
{"by": "subword_ends", "extend": true, "forward": true} |
||
right |
x |
x |
||||
right |
x |
x |
x |
|||
insert |
toggle_overwrite |
|||||
insert |
x |
paste |
||||
insert |
x |
copy |
||||
insert |
x |
x |
||||
insert |
x |
|||||
insert |
x |
x |
||||
insert |
x |
x |
||||
insert |
x |
x |
x |
|||
delete |
right_delete |
|||||
delete |
x |
cut |
||||
delete |
x |
delete_word |
{"forward": true} |
|||
delete |
x |
x |
run_macro_file |
|
||
delete |
x |
|||||
delete |
x |
x |
||||
delete |
x |
x |
||||
delete |
x |
x |
x |
|||
home |
move_to |
{"extend": false, "to": "bol"} |
||||
home |
x |
move_to |
{"extend": true, "to": "bol"} |
|||
home |
x |
move_to |
{"extend": false, "to": "bof"} |
|||
home |
x |
x |
move_to |
{"extend": true, "to": "bof"} |
||
home |
x |
|||||
home |
x |
x |
||||
home |
x |
x |
||||
home |
x |
x |
x |
|||
end |
move_to |
{"extend": false, "to": "eol"} |
||||
end |
x |
move_to |
{"extend": true, "to": "eol"} |
|||
end |
x |
move_to |
{"extend": false, "to": "eof"} |
|||
end |
x |
x |
move_to |
{"extend": true, "to": "eof"} |
||
end |
x |
|||||
end |
x |
x |
||||
end |
x |
x |
||||
end |
x |
x |
x |
|||
pageup |
move |
{"by": "pages", "forward": false} |
||||
pageup |
x |
move |
{"by": "pages", "extend": true, "forward": false} |
|||
pageup |
x |
prev_view |
||||
pageup |
x |
x |
prev_view |
{"extend": true} |
||
pageup |
x |
|||||
pageup |
x |
x |
||||
pageup |
x |
x |
||||
pageup |
x |
x |
x |
|||
pagedown |
move |
{"by": "pages", "forward": true} |
||||
pagedown |
x |
move |
{"by": "pages", "extend": true, "forward": true} |
|||
pagedown |
x |
next_view |
||||
pagedown |
x |
x |
next_view |
{"extend": true} |
||
pagedown |
x |
|||||
pagedown |
x |
x |
||||
pagedown |
x |
x |
||||
pagedown |
x |
x |
x |
|||
backspace |
left_delete |
|||||
backspace |
run_macro_file |
|
||||
backspace |
run_macro_file |
|
||||
backspace |
run_macro_file |
|
||||
backspace |
run_macro_file |
|
||||
backspace |
run_macro_file |
|
||||
backspace |
x |
left_delete |
||||
backspace |
x |
delete_word |
{"forward": false} |
|||
backspace |
x |
x |
left_delete |
|||
backspace |
x |
x |
run_macro_file |
|
||
backspace |
x |
|||||
backspace |
x |
x |
||||
backspace |
x |
x |
||||
backspace |
x |
x |
x |
|||
tab |
insert |
{"characters": "\t"} |
||||
tab |
auto_complete |
{"commit_single": true, "default": "\t", "mini": true} |
||||
tab |
auto_complete |
{"default": "\t", "snippets_only": true} |
||||
tab |
expand_snippet |
|||||
tab |
reindent |
|||||
tab |
indent |
|||||
tab |
move |
{"by": "lines", "forward": true} |
||||
tab |
next_field |
|||||
tab |
commit_completion |
|||||
tab |
x |
insert |
{"characters": "\t"} |
|||
tab |
x |
unindent |
||||
tab |
x |
unindent |
||||
tab |
x |
unindent |
||||
tab |
x |
move |
{"by": "lines", "forward": false} |
|||
tab |
x |
prev_field |
||||
tab |
x |
next_view_in_stack |
||||
tab |
x |
x |
prev_view_in_stack |
|||
tab |
x |
|||||
tab |
x |
x |
||||
tab |
x |
x |
||||
tab |
x |
x |
x |
|||
enter |
insert |
{"characters": "\n"} |
||||
enter |
select |
|||||
enter |
select |
|||||
enter |
commit_completion |
|||||
enter |
run_macro_file |
|
||||
enter |
auto_indent_tag |
|||||
enter |
insert |
{"characters": "\n* "} |
||||
enter |
insert |
{"characters": "\n * "} |
||||
enter |
find_next |
|||||
enter |
find_next |
|||||
enter |
hide_panel |
|||||
enter |
find_all |
|||||
enter |
x |
insert |
{"characters": "\n"} |
|||
enter |
x |
select |
{"extend": true} |
|||
enter |
x |
run_macro_file |
|
|||
enter |
x |
auto_indent_tag |
||||
enter |
x |
find_prev |
||||
enter |
x |
find_prev |
||||
enter |
x |
chain |
{"commands": [{"command": "find_prev"}, {"command": "hide_panel"}]} |
|||
enter |
x |
select |
{"clear_to_right": true, "extend": true} |
|||
enter |
x |
run_macro_file |
|
|||
enter |
x |
x |
run_macro_file |
|
||
enter |
x |
select |
{"replace": true} |
|||
enter |
x |
find_all |
{"close_panel": true} |
|||
enter |
x |
find_all |
{"close_panel": true} |
|||
enter |
x |
find_all |
{"close_panel": true} |
|||
enter |
x |
find_all |
||||
enter |
x |
x |
||||
enter |
x |
x |
replace_all |
{"close_panel": true} |
||
enter |
x |
x |
replace_all |
|||
enter |
x |
x |
x |
|||
pause |
||||||
pause |
x |
|||||
pause |
x |
|||||
pause |
x |
x |
||||
pause |
x |
|||||
pause |
x |
x |
||||
pause |
x |
x |
||||
pause |
x |
x |
x |
|||
break |
||||||
break |
x |
|||||
break |
x |
cancel_build |
||||
break |
x |
x |
||||
break |
x |
|||||
break |
x |
x |
||||
break |
x |
x |
||||
break |
x |
x |
x |
|||
space |
||||||
space |
x |
|||||
space |
x |
auto_complete |
||||
space |
x |
move |
{"by": "lines", "forward": true} |
|||
space |
x |
x |
expand_selection |
{"to": "scope"} |
||
space |
x |
|||||
space |
x |
x |
||||
space |
x |
x |
||||
space |
x |
x |
x |
|||
escape |
cancel |
|||||
escape |
single_selection |
|||||
escape |
clear_fields |
|||||
escape |
clear_fields |
|||||
escape |
hide_panel |
{"cancel": true} |
||||
escape |
hide_overlay |
|||||
escape |
hide_auto_complete |
|||||
escape |
hide_popup |
|||||
escape |
x |
show_panel |
{"panel": "output.exec"} |
|||
escape |
x |
|||||
escape |
x |
x |
||||
escape |
x |
|||||
escape |
x |
x |
||||
escape |
x |
x |
||||
escape |
x |
x |
x |
|||
context_menu |
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 |
|||
backquote |
||||||
backquote |
x |
|||||
backquote |
x |
|||||
backquote |
x |
x |
||||
backquote |
x |
|||||
backquote |
x |
x |
||||
backquote |
x |
x |
||||
backquote |
x |
x |
x |
|||
equals |
||||||
equals |
x |
|||||
equals |
x |
|||||
equals |
x |
x |
||||
equals |
x |
|||||
equals |
x |
x |
||||
equals |
x |
x |
||||
equals |
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 |
|||
minus |
||||||
minus |
x |
|||||
minus |
x |
|||||
minus |
x |
x |
||||
minus |
x |
|||||
minus |
x |
x |
||||
minus |
x |
x |
||||
minus |
x |
x |
x |
|||
plus |
||||||
plus |
x |
|||||
plus |
x |
|||||
plus |
x |
x |
||||
plus |
x |
|||||
plus |
x |
x |
||||
plus |
x |
x |
||||
plus |
x |
x |
x |
|||
close |
close |
|||||
close |
close_transient |
|||||
close |
x |
|||||
close |
x |
|||||
close |
x |
x |
||||
close |
x |
|||||
close |
x |
x |
||||
close |
x |
x |
||||
close |
x |
x |
x |
|||
copy |
copy |
|||||
copy |
x |
|||||
copy |
x |
|||||
copy |
x |
x |
||||
copy |
x |
|||||
copy |
x |
x |
||||
copy |
x |
x |
||||
copy |
x |
x |
x |
|||
cut |
cut |
|||||
cut |
x |
|||||
cut |
x |
|||||
cut |
x |
x |
||||
cut |
x |
|||||
cut |
x |
x |
||||
cut |
x |
x |
||||
cut |
x |
x |
x |
|||
find |
show_panel |
{"panel": "find", "reverse": false} |
||||
find |
x |
|||||
find |
x |
|||||
find |
x |
x |
||||
find |
x |
|||||
find |
x |
x |
||||
find |
x |
x |
||||
find |
x |
x |
x |
|||
open |
prompt_open_file |
|||||
open |
x |
|||||
open |
x |
|||||
open |
x |
x |
||||
open |
x |
|||||
open |
x |
x |
||||
open |
x |
x |
||||
open |
x |
x |
x |
|||
paste |
paste |
|||||
paste |
x |
|||||
paste |
x |
|||||
paste |
x |
x |
||||
paste |
x |
|||||
paste |
x |
x |
||||
paste |
x |
x |
||||
paste |
x |
x |
x |
|||
redo |
redo_or_repeat |
|||||
redo |
x |
|||||
redo |
x |
|||||
redo |
x |
x |
||||
redo |
x |
|||||
redo |
x |
x |
||||
redo |
x |
x |
||||
redo |
x |
x |
x |
|||
save |
save |
{"async": true} |
||||
save |
x |
|||||
save |
x |
|||||
save |
x |
x |
||||
save |
x |
|||||
save |
x |
x |
||||
save |
x |
x |
||||
save |
x |
x |
x |
|||
sysreq |
||||||
sysreq |
x |
|||||
sysreq |
x |
|||||
sysreq |
x |
x |
||||
sysreq |
x |
|||||
sysreq |
x |
x |
||||
sysreq |
x |
x |
||||
sysreq |
x |
x |
x |
|||
undo |
undo |
|||||
undo |
x |
|||||
undo |
x |
|||||
undo |
x |
x |
||||
undo |
x |
|||||
undo |
x |
x |
||||
undo |
x |
x |
||||
undo |
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_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_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_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_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_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_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 |
|||
<character> |
||||||
<character> |
x |
|||||
<character> |
x |
|||||
<character> |
x |
x |
||||
<character> |
x |
|||||
<character> |
x |
x |
||||
<character> |
x |
x |
||||
<character> |
x |
x |
x |
Context for Backspace: run_macro_file {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}
"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 for Backspace: run_macro_file {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}
"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 for Backspace: run_macro_file {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}
"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 for Backspace: run_macro_file {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}
"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 for Backspace: run_macro_file {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}
"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 for Tab: auto_complete {“commit_single”: true, “default”: “t”, “mini”: true}
"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 for Tab: auto_complete {“default”: “t”, “snippets_only”: true}
"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 for Tab: expand_snippet
"context": [
{ "key": "has_snippet" }
// Can preceding word trigger a Snippet?
]
Context for Tab: reindent
"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 for Tab: indent
"context": [
{ "key": "text", "operator": "regex_contains", "operand": "\n" }
// Does regex "\n" match any of the selected text?
]
Context for Tab: move {“by”: “lines”, “forward”: true}
"context": [
{ "key": "overlay_has_focus" }
// Does an Overlay or Quick Panel have focus?
]
Context for Tab: next_field
"context": [
{ "key": "has_next_field" }
// Is selection in Snippet field list with subsequent fields?
]
Context for Tab: commit_completion
"context": [
{ "key": "auto_complete_visible" }
// Is auto-complete, mini-auto-complete or async-auto-complete popup visible?
]
Context for Shift-Tab: unindent
"context": [
{ "key": "setting.shift_tab_unindent" }
// Is the View-setting [shift_tab_unindent] == true?
]
Context for Shift-Tab: unindent
"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 for Shift-Tab: unindent
"context": [
{ "key": "text", "operator": "regex_contains", "operand": "\n" }
// Does regex "\n" match any of the selected text?
]
Context for Shift-Tab: move {“by”: “lines”, “forward”: false}
"context": [
{ "key": "overlay_visible" }
// Is any Overlay or Quick Panel visible?
]
Context for Shift-Tab: prev_field
"context": [
{ "key": "has_prev_field" }
// Is selection in Snippet field list with previous fields?
]
Context for Enter: select
"context": [
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?,
{ "key": "panel_type" , "operand": "input" }
// Does focused Panel's type == "input"?
]
Context for Enter: select
"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 for Enter: commit_completion
"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 for Enter: run_macro_file {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}
"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 for Enter: auto_indent_tag
"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 for Enter: insert {“characters”: “n* “}
"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 for Enter: insert {“characters”: “n * “}
"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 for Enter: find_next
"context": [
{ "key": "panel" , "operand": "find" }
// Is current visible Panel's name == "find"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Enter: find_next
"context": [
{ "key": "panel" , "operand": "replace" }
// Is current visible Panel's name == "replace"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Enter: hide_panel
"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 for Enter: find_all
"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 for Shift-Enter: select {“extend”: true}
"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 for Shift-Enter: run_macro_file {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}
"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 for Shift-Enter: auto_indent_tag
"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 for Shift-Enter: find_prev
"context": [
{ "key": "panel" , "operand": "find" }
// Is current visible Panel's name == "find"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Shift-Enter: find_prev
"context": [
{ "key": "panel" , "operand": "replace" }
// Is current visible Panel's name == "replace"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Shift-Enter: chain {“commands”: [{“command”: “find_prev”}, {“command”: “hide_panel”}]}
"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 for Ctrl-Enter: select {“clear_to_right”: true, “extend”: true}
"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 for Ctrl-Enter: run_macro_file {"file": "res://Packages/Default/Add Line.sublime-macro"}
"context": [
{ "key": "overlay_has_focus", "operand": false }
// Does an Overlay or Quick Panel NOT have focus?
]
Context for Alt-Enter: select {“replace”: true}
"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 for Alt-Enter: find_all {“close_panel”: true}
"context": [
{ "key": "panel" , "operand": "find" }
// Is current visible Panel's name == "find"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Alt-Enter: find_all {“close_panel”: true}
"context": [
{ "key": "panel" , "operand": "replace" }
// Is current visible Panel's name == "replace"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Alt-Enter: find_all {“close_panel”: true}
"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 for Alt-Enter: find_all
"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 for Ctrl-Alt-Enter: replace_all {“close_panel”: true}
"context": [
{ "key": "panel" , "operand": "replace" }
// Is current visible Panel's name == "replace"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Ctrl-Alt-Enter: replace_all
"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 for Ctrl-Space: move {“by”: “lines”, “forward”: true}
"context": [
{ "key": "auto_complete_primed" }
// Is actual auto-complete popup visible?
]
Context for Escape: single_selection
"context": [
{ "key": "num_selections", "operator": "not_equal" }
// Number of selections != 1?
]
Context for Escape: clear_fields
"context": [
{ "key": "has_next_field" }
// Is selection in Snippet field list with subsequent fields?
]
Context for Escape: clear_fields
"context": [
{ "key": "has_prev_field" }
// Is selection in Snippet field list with previous fields?
]
Context for Escape: hide_panel {“cancel”: true}
"context": [
{ "key": "panel_visible" }
// Is any Panel visible?
]
Context for Escape: hide_overlay
"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 for Escape: hide_auto_complete
"context": [
{ "key": "auto_complete_visible" }
// Is auto-complete, mini-auto-complete or async-auto-complete popup visible?
]
Context for Escape: hide_popup
"context": [
{ "key": "popup_visible" }
// Is any Popup currently being displayed?
]
Context for Close: close_transient
"context": [
{ "key": "group_has_transient_sheet" }
// Does View group have a transient sheet?
]
9.2.6. Keypad Keys
Key:
A = Alt
C = Ctrl
S = Shift
Ctxt = Context
Key |
A |
C |
S |
Ctxt |
Command |
Args |
|---|---|---|---|---|---|---|
keypad0 |
||||||
keypad0 |
x |
|||||
keypad0 |
x |
|||||
keypad0 |
x |
x |
||||
keypad0 |
x |
|||||
keypad0 |
x |
x |
||||
keypad0 |
x |
x |
||||
keypad0 |
x |
x |
x |
|||
keypad1 |
||||||
keypad1 |
x |
|||||
keypad1 |
x |
|||||
keypad1 |
x |
x |
||||
keypad1 |
x |
|||||
keypad1 |
x |
x |
||||
keypad1 |
x |
x |
||||
keypad1 |
x |
x |
x |
|||
keypad2 |
||||||
keypad2 |
x |
|||||
keypad2 |
x |
|||||
keypad2 |
x |
x |
||||
keypad2 |
x |
|||||
keypad2 |
x |
x |
||||
keypad2 |
x |
x |
||||
keypad2 |
x |
x |
x |
|||
keypad3 |
||||||
keypad3 |
x |
|||||
keypad3 |
x |
|||||
keypad3 |
x |
x |
||||
keypad3 |
x |
|||||
keypad3 |
x |
x |
||||
keypad3 |
x |
x |
||||
keypad3 |
x |
x |
x |
|||
keypad4 |
||||||
keypad4 |
x |
|||||
keypad4 |
x |
|||||
keypad4 |
x |
x |
||||
keypad4 |
x |
|||||
keypad4 |
x |
x |
||||
keypad4 |
x |
x |
||||
keypad4 |
x |
x |
x |
|||
keypad5 |
||||||
keypad5 |
x |
|||||
keypad5 |
x |
|||||
keypad5 |
x |
x |
||||
keypad5 |
x |
|||||
keypad5 |
x |
x |
||||
keypad5 |
x |
x |
||||
keypad5 |
x |
x |
x |
|||
keypad6 |
||||||
keypad6 |
x |
|||||
keypad6 |
x |
|||||
keypad6 |
x |
x |
||||
keypad6 |
x |
|||||
keypad6 |
x |
x |
||||
keypad6 |
x |
x |
||||
keypad6 |
x |
x |
x |
|||
keypad7 |
||||||
keypad7 |
x |
|||||
keypad7 |
x |
|||||
keypad7 |
x |
x |
||||
keypad7 |
x |
|||||
keypad7 |
x |
x |
||||
keypad7 |
x |
x |
||||
keypad7 |
x |
x |
x |
|||
keypad8 |
||||||
keypad8 |
x |
|||||
keypad8 |
x |
|||||
keypad8 |
x |
x |
||||
keypad8 |
x |
|||||
keypad8 |
x |
x |
||||
keypad8 |
x |
x |
||||
keypad8 |
x |
x |
x |
|||
keypad9 |
||||||
keypad9 |
x |
|||||
keypad9 |
x |
|||||
keypad9 |
x |
x |
||||
keypad9 |
x |
|||||
keypad9 |
x |
x |
||||
keypad9 |
x |
x |
||||
keypad9 |
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_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_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_minus |
||||||
keypad_minus |
x |
|||||
keypad_minus |
x |
|||||
keypad_minus |
x |
x |
||||
keypad_minus |
x |
jump_back |
||||
keypad_minus |
x |
x |
jump_forward |
|||
keypad_minus |
x |
x |
||||
keypad_minus |
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_enter |
insert |
{"characters": "\n"} |
||||
keypad_enter |
select |
|||||
keypad_enter |
select |
|||||
keypad_enter |
commit_completion |
|||||
keypad_enter |
find_next |
|||||
keypad_enter |
find_next |
|||||
keypad_enter |
hide_panel |
|||||
keypad_enter |
find_all |
|||||
keypad_enter |
x |
insert |
{"characters": "\n"} |
|||
keypad_enter |
x |
select |
{"extend": true} |
|||
keypad_enter |
x |
find_prev |
||||
keypad_enter |
x |
find_prev |
||||
keypad_enter |
x |
chain |
{"commands": [{"command": "find_prev"}, {"command": "hide_panel"}]} |
|||
keypad_enter |
x |
find_prev |
||||
keypad_enter |
x |
select |
{"clear_to_right": true, "extend": true} |
|||
keypad_enter |
x |
run_macro_file |
|
|||
keypad_enter |
x |
x |
run_macro_file |
|
||
keypad_enter |
x |
select |
{"replace": true} |
|||
keypad_enter |
x |
find_all |
{"close_panel": true} |
|||
keypad_enter |
x |
find_all |
{"close_panel": true} |
|||
keypad_enter |
x |
find_all |
{"close_panel": true} |
|||
keypad_enter |
x |
find_all |
||||
keypad_enter |
x |
x |
||||
keypad_enter |
x |
x |
replace_all |
{"close_panel": true} |
||
keypad_enter |
x |
x |
replace_all |
|||
keypad_enter |
x |
x |
x |
|||
clear |
||||||
clear |
x |
|||||
clear |
x |
|||||
clear |
x |
x |
||||
clear |
x |
|||||
clear |
x |
x |
||||
clear |
x |
x |
||||
clear |
x |
x |
x |
Context for Keypad_Enter: select
"context": [
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?,
{ "key": "panel_type" , "operand": "input" }
// Does focused Panel's type == "input"?
]
Context for Keypad_Enter: select
"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 for Keypad_Enter: commit_completion
"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 for Keypad_Enter: find_next
"context": [
{ "key": "panel" , "operand": "find" }
// Is current visible Panel's name == "find"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Keypad_Enter: find_next
"context": [
{ "key": "panel" , "operand": "replace" }
// Is current visible Panel's name == "replace"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Keypad_Enter: hide_panel
"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 for Keypad_Enter: find_all
"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 for Shift-Keypad_Enter: select {“extend”: true}
"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 for Shift-Keypad_Enter: find_prev
"context": [
{ "key": "panel" , "operand": "find" }
// Is current visible Panel's name == "find"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Shift-Keypad_Enter: find_prev
"context": [
{ "key": "panel" , "operand": "replace" }
// Is current visible Panel's name == "replace"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Shift-Keypad_Enter: chain {“commands”: [{“command”: “find_prev”}, {“command”: “hide_panel”}]}
"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 for Shift-Keypad_Enter: find_prev
"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 for Ctrl-Keypad_Enter: select {“clear_to_right”: true, “extend”: true}
"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 for Ctrl-Keypad_Enter: run_macro_file {"file": "res://Packages/Default/Add Line.sublime-macro"}
"context": [
{ "key": "overlay_has_focus", "operand": false }
// Does an Overlay or Quick Panel NOT have focus?
]
Context for Alt-Keypad_Enter: select {“replace”: true}
"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 for Alt-Keypad_Enter: find_all {“close_panel”: true}
"context": [
{ "key": "panel" , "operand": "find" }
// Is current visible Panel's name == "find"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Alt-Keypad_Enter: find_all {“close_panel”: true}
"context": [
{ "key": "panel" , "operand": "replace" }
// Is current visible Panel's name == "replace"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Alt-Keypad_Enter: find_all {“close_panel”: true}
"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 for Alt-Keypad_Enter: find_all
"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 for Ctrl-Alt-Keypad_Enter: replace_all {“close_panel”: true}
"context": [
{ "key": "panel" , "operand": "replace" }
// Is current visible Panel's name == "replace"?,
{ "key": "panel_has_focus" }
// Is any Panel visible with focus?
]
Context for Ctrl-Alt-Keypad_Enter: replace_all
"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?
]
9.2.7. Leading Key: Ctrl-J
Key:
A = Alt
C = Ctrl
S = Shift
Ctxt = Context
Key |
A |
C |
S |
Ctxt |
Command |
Args |
|---|---|---|---|---|---|---|
j |
x |
primary_j_changed |
||||
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 |
|||
pageup |
x |
focus_to_left |
||||
pagedown |
x |
focus_to_right |
9.2.8. Leading Key: Ctrl-K
Key:
A = Alt
C = Ctrl
S = Shift
Ctxt = Context
Key |
A |
C |
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 |
|
|||
l |
x |
lower_case |
||||
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 |
||||
; |
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 |
|
|||
space |
x |
set_mark |