Skip to content
/
Try

Skink keyboard shortcuts (complete list)

These are Skink’s default bindings, read straight from the editor’s source at build time, so they always match the current release. They follow Micro’s defaults. To change one, put the key and the action name in bindings.json (see Key bindings).

On macOS, Alt is Option; see Option as Alt. Inside the editor, F1 opens the command palette with every action, and :help shows this table too.

AI and agents

KeyDoesOr typeAction (bindings.json)
Ctrl+GAI prompt box for the selection or the code at the cursor:askAiPrompt
Alt+Shift+Ashow the agent panel (chat with the ACP agent):agentpanelAgentPanel
Alt+Shift+Esend the errors to the agent: diagnostics, or the last command in a terminal:senderrorsAgentSendErrors
Alt+Shift+TShow or hide the agent panel on the right:toggleagentdockToggleAgentDock

Debugger

KeyDoesOr typeAction (bindings.json)
F11Debug: step into (falls through when not debugging):stepinDebugStepInto|CloseTerminal
Shift+F11Debug: step out (falls through when not debugging):stepoutDebugStepOut|TerminalHistory
F10Debug: step over (falls through to the next action when not debugging):stepDebugStepOver|Quit
F9Debug: breakpoint on the cursor line, on or off:togglebreakpointToggleBreakpoint
Alt+F9Debug: condition, hit count or log message of the cursor line's breakpoint:conditionEditBreakpoint
F6Debug: pause the running program (falls through when nothing runs):pauseDebugPause|NextDiagnostic
F5Debug: start (the last configuration, or pick one) or continue:continueDebugContinue
Shift+F5Debug: stop the program (again: kill the adapter):debugstopDebugStop
Alt+LDebug: the panel (stack, variables, watch, breakpoints, console) on or off:debugpanelDebugPanel

Terminal

KeyDoesOr typeAction (bindings.json)
F12Jump between the document and a terminal tab:toggletermToggleTerminal
Shift+F12Open another terminal tab:newtermNewTerminal
Shift+F4Select the last command's output in the terminal history (needs OSC 133):lastoutputSelectLastOutput
Shift+F2Scroll the terminal to the previous shell prompt (needs OSC 133):prevpromptPreviousPrompt
Shift+F3Scroll the terminal to the next shell prompt (needs OSC 133):nextpromptNextPrompt
Alt+TShow or hide a shell along the bottom:toggleterminaldockToggleTerminalDock

Git

KeyDoesOr typeAction (bindings.json)
Alt+Shift+KRebase list: pick → reword → edit → squash → fixup → drop on the cursor line:cyclerebaseverbCycleRebaseVerb
Alt+Shift+NGo to the next git change:nexthunkNextHunk
Alt+Shift+PGo to the previous git change:previoushunkPreviousHunk
Alt+Shift+DShow the git change at the cursor (s stage, u unstage, r revert):peekhunkPeekHunk
Alt+Shift+SStage the git change at the cursor:stagehunkStageHunk
Alt+Shift+BShow or hide the cursor line's git blame:toggleinlineblameToggleInlineBlame
Alt+Shift+CGit status, staging, commit, branches, stash, push / pull:gitpanelGitPanel

Code intelligence

KeyDoesOr typeAction (bindings.json)
TabIndent selected lines:indentAutocomplete|IndentSelection|InsertTab
Shift+TabOutdent selected lines:outdentCycleAutocompleteBack|OutdentSelection|OutdentLine
Alt+Ktype and docs of the symbol at the cursor (its value while debugging):hoverHover
Alt+Ggo to the definition of the symbol at the cursor:gotodefinitionGotoDefinition
Alt+Shift+Ggo to the definition of the type at the cursor:typedefGotoTypeDefinition
Alt+Jshow the definition in a popup without leaving:peekPeekDefinition
Alt+Revery use of the symbol at the cursor, in a results tab:findreferencesFindReferences
Alt+Enterquick fixes and refactorings at the cursor:fixCodeActions
Alt+Shift+Fformat the selection or the file (language server):formatFormat
Alt+Wsymbols in the project (quick open with #):allsymbolsWorkspaceSymbols
Shift+F8errors and warnings of the open files, in a results tab:problemsProblems
Alt+Shift+Rrename the symbol at the cursor (asks for the new name):renamesymbolRenameSymbol
Shift+F6previous error or warning in this file:prevproblemPreviousDiagnostic
KeyDoesOr typeAction (bindings.json)
Ctrl+FSearch in the file:findFind
Ctrl+NNext match:findnextFindNext
Ctrl+PPrevious match:findprevFindPrevious
F3Search in the file:findFind
F7Search in the file:findFind
Alt+SSearch every file in the project:findinfilesFindInFiles
Ctrl+Shift+FSearch every file in the project:findinfilesFindInFiles

Tabs, panes and layout

KeyDoesOr typeAction (bindings.json)
Ctrl+Shift+HDelete backwards:backspaceBackspace
BackspaceDelete backwards:backspaceBackspace
Ctrl+QQuit the editor:quitQuit
Alt+PQuick open: tabs, recent and project files:quickopenQuickOpen
Alt+,Select the tab to the left:prevtabPreviousTab
Alt+.Select the tab to the right:nexttabNextTab
Ctrl+TNew empty document tab:newtabAddTab
Ctrl+OOpen a file or folder by path:openfileOpenFile
Ctrl+PageUpSelect the tab to the left:prevtabPreviousTab
Ctrl+PageDownSelect the tab to the right:nexttabNextTab
F8Show / focus the file tree:filesToggleTree
Ctrl+BHide / show the file tree sidebar:sidebarToggleSidebar
Ctrl+UStart / stop recording a keyboard macro:recordToggleMacro
Ctrl+JReplay the last keyboard macro:replayPlayMacro
Shift+F10Pick a task (tasks.json or detected cargo / npm / go / zig / pytest / make) and run it:runtaskRunTask
Shift+F9Run the last task again:rerunRerunTask
F4Quit the editor:quitQuit
Alt+Zzoom pane: hide the tab bar, file tree and status line:togglezoomToggleZoom
Alt+Hshow / hide dotfiles in the file tree (works from the editor too):dotfilesToggleHiddenFiles
F1every action and command (quick open with >):paletteCommandPalette
Ctrl+\Split the pane: a new one to the right (same file, own cursor):vsplitVSplit
Ctrl+4Split the pane: a new one to the right (same file, own cursor):vsplitVSplit
Alt+\Split the pane: a new one below (same file, own cursor):hsplitHSplit
Ctrl+WFocus the next pane:nextsplitNextSplit
Alt+UBack to where you were before the last jump:jumpbackJumpBack
Alt+Shift+UForward again after JumpBack:jumpforwardJumpForward
Alt+MFold or unfold the block at the cursor (by indentation):togglefoldToggleFold
Alt+Shift+WFocus the previous pane:prevsplitPreviousSplit
Alt+=Make the focused pane bigger:growsplitGrowSplit
Alt+-Make the focused pane smaller:shrinksplitShrinkSplit

Selecting

KeyDoesOr typeAction (bindings.json)
Shift+↑Select up:selectupSelectUp
Shift+↓Select down:selectdownSelectDown
Shift+←Select left:selectleftSelectLeft
Shift+→Select right:selectrightSelectRight
Ctrl+Shift+→Select a word right:selectwordrightSelectWordRight
Ctrl+Shift+←Select a word left:selectwordleftSelectWordLeft
Alt+Shift+←Select to line start:selecttostartoftexttoggleSelectToStartOfTextToggle
Shift+HomeSelect to line start:selecttostartoftexttoggleSelectToStartOfTextToggle
Alt+Shift+→Select to line end:selecttoendoflineSelectToEndOfLine
Shift+EndSelect to line end:selecttoendoflineSelectToEndOfLine
Ctrl+Shift+↑Select to file start:selecttostartSelectToStart
Ctrl+Shift+↓Select to file end:selecttoendSelectToEnd
Ctrl+DSelect the word, then add a cursor at the next match:addcursorSpawnMultiCursor
Ctrl+ASelect all:selectallSelectAll
Ctrl+Shift+HomeSelect to file start:selecttostartSelectToStart
Ctrl+Shift+EndSelect to file end:selecttoendSelectToEnd
Shift+PageUpSelect page up:selectpageupSelectPageUp
Shift+PageDownSelect page down:selectpagedownSelectPageDown
EscCancel:escapeEscape,RemoveAllMultiCursors|Deselect,ClearInfo
Alt+NSelect the word, then add a cursor at the next match:addcursorSpawnMultiCursor
Alt+Ogrow the selection to the enclosing syntax node:expandExpandSelection
Alt+Iundo the last ExpandSelection:contractShrinkSelection
Alt+Shift+↑Add a cursor on the line above:cursoraboveSpawnMultiCursorUp
Alt+Shift+↓Add a cursor on the line below:cursorbelowSpawnMultiCursorDown
Ctrl+Alt+↑Add a cursor on the line above:cursoraboveSpawnMultiCursorUp
Ctrl+Alt+↓Add a cursor on the line below:cursorbelowSpawnMultiCursorDown
Alt+CBack to a single cursor:onecursorRemoveAllMultiCursors
Alt+XSkip this match and select the next:skipcursorSkipMultiCursor

Moving around

KeyDoesOr typeAction (bindings.json)
↑Move up:cursorupCursorUp
↓Move down:cursordownCursorDown
→Move right:cursorrightCursorRight
←Move left:cursorleftCursorLeft
Ctrl+←Move a word left:wordleftWordLeft
Ctrl+→Move a word right:wordrightWordRight
Alt+←First non-blank / column 0:startoftexttoggleStartOfTextToggle
Alt+→End of line:endoflineEndOfLine
Ctrl+↑Start of file:cursorstartCursorStart
Ctrl+↓End of file:cursorendCursorEnd
Ctrl+Alt+Shift+HDelete word left:deletewordleftDeleteWordLeft
Alt+BackspaceDelete word left:deletewordleftDeleteWordLeft
HomeFirst non-blank / column 0:startoftexttoggleStartOfTextToggle
EndEnd of line:endoflineEndOfLine
Ctrl+HomeStart of file:cursorstartCursorStart
Ctrl+EndEnd of file:cursorendCursorEnd
PageUpPage up:cursorpageupCursorPageUp
PageDownPage down:cursorpagedownCursorPageDown
Ctrl+]Move to the bracket matching the one at the cursor:bracketJumpToMatchingBrace
Alt+FMove a word right:wordrightWordRight
Alt+BMove a word left:wordleftWordLeft
Alt+AFirst non-blank:startoftextStartOfText
Alt+EEnd of line:endoflineEndOfLine
Ctrl+DeleteDelete word right:deletewordrightDeleteWordRight
Alt+DDelete word right:deletewordrightDeleteWordRight

Editing

KeyDoesOr typeAction (bindings.json)
Alt+↑Move lines up:moveupMoveLinesUp
Alt+↓Move lines down:movedownMoveLinesDown
EnterInsert a newline:insertnewlineInsertNewline
Ctrl+SSave the file:saveSave
Ctrl+ZUndo:undoUndo
Ctrl+YRedo:redoRedo
Ctrl+CCopy the selection:copyCopy|CopyLine
Ctrl+XCut the selection:cutCut|CutLine
Ctrl+KCut the line:cutlineCutLine
Ctrl+Shift+DDuplicate the selection:duplicateDuplicate|DuplicateLine
Ctrl+VPaste:pastePaste
DeleteDelete forwards:deleteDelete
Ctrl+LOpens the command line with `goto`opens itcommand-edit:goto
Ctrl+EOpens the command lineopens itcommand-edit:
F2Save the file:saveSave
Alt+VPreview this Markdown or SVG file in a tab, or go back to its source:togglepreviewTogglePreview
Alt+/Comment / uncomment the lines:commentToggleComment
Ctrl+/Comment / uncomment the lines:commentToggleComment
Ctrl+7Comment / uncomment the lines:commentToggleComment
Ctrl+Spacecompletion list at the cursor (language server):completeComplete
Ctrl+Rsymbols in this file (quick open with @):outlineOutline
Alt+Shift+MOpen every fold:unfoldallUnfoldAll
Alt+QClose the focused pane (its tab stays open):unsplitUnsplit