Skip to main content

Keyboard Mapping

Canvas mode

KeyCommand
Cmd/Ctrl-K, EnterOpen Omnibox / Search
LeftScroll canvas left
RightScroll canvas right
UpScroll canvas up
DownScroll canvas down
Ctrl-AScroll page left one page
Ctrl-EScroll page right one page
Ctrl-B, PgUpScroll canvas up one page
Ctrl-F, PgDnScroll page down one page
Left-clickOpen Omnibox / Search

Code editing (Darklang specific)

KeyContextCommand
Cmd/Ctrl-S, Alt-X, Cmd/Ctrl-\Open command / refactoring palette
Tab, Shift-TabMove to next / previous blank
Tab, Shift-TabIn autocompleteComplete and go to next / previous blank
EnterIn autocompleteComplete and stay in same place
SpaceIn autocompleteComplete and move forward one space
EscapeIn autocompleteClose autocomplete
\In blankStart lambda expression
,In lambdaAdd lambda parameter
[In blankCreate list
]In list, before closing ]Skip ]
,In listAdd new list entry
(In blank (expression or pattern)Create tuple expression or pattern
)In tuple, before closing )Skip )
,In tupleExtend tuple size
[Before variable, integer, etcWrap in list
,Autocomplete in listComplete list entry and add new list entry
.On variableCreate field access
.Selecting variable in autocompleteComplete variable and begin field access
.In integerConvert integer to a float
=Cursor on = in a letSkip over assignment
{In blankStart record
}In record, before closing }Skip } at end of record
:Cursor on : in a recordSkip over :
EnterIn a recordAdd record entry
"In blankStart string
"In string, before closing "Skip "
->Skip over -> in a match
EnterIn a matchAdd match entry
|>Start pipe using current line
Shift-EnterStart pipe using selected code
EnterIn a pipeAdd line to pipe
EnterIn body of a letWrap current expression in let _ =, go to next line
EnterBetween let expressionsInsert a new line with a let
Double-clickIn a stringSelect word
Double-clickoutside a stringSelect token (e.g. function name, keyword, etc)
Alt+Double-clickSelect entire expression

Note: tuple support currently requires you to opt in - see Release 5 in the changelog for details.

Code editing (similar to other editors)

KeyAlternative keyCommand
Cmd/Ctrl-ZUndo
Shift-Cmd-ZRedo (MacOS)
Ctrl-YRedo (Windows / Linux)
Cmd/Ctrl-XCut to clipboard
Cmd/Ctrl-CCopy to clipboard
Cmd/Ctrl-VPaste from clipboard
Left, RightMove one, skipping over keywords and indents
Up, DownMove up/down, preserving column
Cmd/Ctrl-ASelect all
Cmd/Ctrl-LeftCtrl-A (Mac only), Ctrl-HomeGo to start of line
Cmd/Ctrl-RightCtrl-E, Ctrl-EndGo to end of line
Ctrl-LeftAlt-Left (Mac only)Go to start of word
Ctrl-RightAlt-Right (Mac only)Go to end of word
Left-clickPlace caret