Skip to content

Latest commit

 

History

History
 
 

commands

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Commands

Commands are defined in commands.yaml, and then exported to VS Code-compatible commands and key bindings.

They are implemented in src/commands.

ID Title Description Key bindings
dance.toggle Toggle Toggles Dance key bindings.
dance.set.normal Set mode to Normal Set Dance mode to Normal. Escape (dance.mode == 'insert')
dance.set.insert Set mode to Insert Set Dance mode to Insert.
dance.tmp.normal Temporary normal mode Switches to normal mode temporarily. Ctrl+V (dance.mode == 'insert')
dance.tmp.insert Temporary insert mode Switches to insert mode temporarily. Ctrl+V (dance.mode == 'normal')
dance.insert.before Insert before Start insert before the current selections. I (dance.mode == 'normal')
dance.insert.after Insert after Start insert after the current selections. A (dance.mode == 'normal')
dance.insert.lineStart Insert at line start Start insert at line start of each selection. Shift+I (dance.mode == 'normal')
dance.insert.lineEnd Insert at line end Start insert at line end of each selection. Shift+A (dance.mode == 'normal')
dance.insert.newLine.below Insert new line below Create new line and start insert below. O (dance.mode == 'normal')
dance.insert.newLine.above Insert new line above Create new line and start insert above. Shift+O (dance.mode == 'normal')
dance.newLine.below Add new line below Add a new line below, without entering insert mode. Alt+O (dance.mode == 'normal')
dance.newLine.above Add new line above Add a new line above, without entering insert mode. Shift+Alt+O (dance.mode == 'normal')
dance.repeat.insert Repeat last insert-mode change Repeat last insert-mode change. . (dance.mode == 'normal')
dance.repeat.objectOrSelectTo Repeat last object select / character find Repeat last object select / character find. Alt+. (dance.mode == 'normal')
dance.left Move left Move left. Left (dance.mode == 'normal'), H (dance.mode == 'normal')
dance.right Move right Move right. Right (dance.mode == 'normal'), L (dance.mode == 'normal')
dance.up Move up Move up. Up (dance.mode == 'normal'), K (dance.mode == 'normal')
dance.down Move down Move down. Down (dance.mode == 'normal'), J (dance.mode == 'normal')
dance.up.page Scroll one page up Scroll one page up. Ctrl+B (dance.mode == 'normal'), Ctrl+B (dance.mode == 'insert')
dance.down.page Scroll one page down Scroll one page down. Ctrl+F (dance.mode == 'normal'), Ctrl+F (dance.mode == 'insert')
dance.up.halfPage Scroll half a page up Scroll half a page up. Ctrl+U (dance.mode == 'normal'), Ctrl+U (dance.mode == 'insert')
dance.down.halfPage Scroll half a page down Scroll half a page down. Ctrl+D (dance.mode == 'normal'), Ctrl+D (dance.mode == 'insert')
dance.select.to.included Select to Select to the next character pressed, including it. F (dance.mode == 'normal')
dance.select.to.excluded Select until Select until the next character pressed, excluding it. T (dance.mode == 'normal')
dance.select.buffer Select whole buffer Select whole buffer. Shift+5 (dance.mode == 'normal')
dance.select.line Select line Select line on which the end of each selection lies (or next line when end lies on an end-of-line). X (dance.mode == 'normal')
dance.select.toLineBegin Select to line beginning Select to line beginning. Alt+H (dance.mode == 'normal'), Home (dance.mode == 'normal')
dance.select.toLineEnd Select to line end Select to line end. Alt+L (dance.mode == 'normal'), End (dance.mode == 'normal')
dance.select.enclosing Select enclosing characters Select enclosing characters. M (dance.mode == 'normal')
dance.expandLines Extend lines Extend selections to contain full lines (including end-of-lines). Alt+X (dance.mode == 'normal')
dance.trimLines Trim lines Trim selections to only contain full lines (from start to line break). Shift+Alt+X (dance.mode == 'normal')
dance.trimSelections Trim selections Trim whitespace at beginning and end of selections. Shift+- (dance.mode == 'normal')
dance.select.word Select to next word start Select the word and following whitespaces on the right of the end of each selection. W (dance.mode == 'normal')
dance.select.word.previous Select to previous word start Select preceding whitespaces and the word on the left of the end of each selection. B (dance.mode == 'normal')
dance.select.word.end Select to next word end Select preceding whitespaces and the word on the right of the end of each selection. E (dance.mode == 'normal')
dance.select.word.alt Select to next non-whitespace word start Select the non-whitespace word and following whitespaces on the right of the end of each selection. Alt+W (dance.mode == 'normal')
dance.select.word.alt.previous Select to previous non-whitespace word start Select preceding whitespaces and the non-whitespace word on the left of the end of each selection. Alt+B (dance.mode == 'normal')
dance.select.word.alt.end Select to next non-whitespace word end Select preceding whitespaces and the non-whitespace word on the right of the end of each selection. Alt+E (dance.mode == 'normal')
dance.select Select Select within current selections according to a RegExp. S (dance.mode == 'normal')
dance.split Split Split within current selections according to a RegExp. Shift+S (dance.mode == 'normal')
dance.split.lines Split lines Split selections into lines. Alt+S (dance.mode == 'normal')
dance.select.firstLast Select first and last characters Select first and last characters of each selection. Shift+Alt+S (dance.mode == 'normal')
dance.select.copy Copy selection to next line Copy selection to next line. Shift+C (dance.mode == 'normal')
dance.select.copy.backwards Copy selection to previous line Copy selection to previous line. Shift+Alt+C (dance.mode == 'normal')
dance.selections.reduce Reduce selections Reduce selections to their cursor. ; (dance.mode == 'normal')
dance.selections.flip Flip selections Flip the direction of each selection. Alt+; (dance.mode == 'normal')
dance.selections.forward Forward selections Ensure selections are in forward direction (the active cursor is after the anchor). Shift+Alt+; (dance.mode == 'normal')
dance.selections.backward Backward selections Ensure selections are in backward direction (the active cursor is before the anchor).
dance.selections.clear Clear selections Clear selections (except main) Space (dance.mode == 'normal')
dance.selections.clearMain Clear main selection Clear main selection. Alt+Space (dance.mode == 'normal')
dance.selections.keepMatching Keep matching selections Keep selections that match a RegExp. Alt+K (dance.mode == 'normal')
dance.selections.clearMatching Clear matching selections Clear selections that match a RegExp. Shift+Alt+K (dance.mode == 'normal')
dance.selections.merge Merge contiguous selections Merge contiguous selections together, including across lines. Shift+Alt+- (dance.mode == 'normal')
dance.selections.align Align selections Align selections, aligning the cursor of each selection by inserting spaces before the first character of each selection. Shift+7 (dance.mode == 'normal')
dance.selections.align.copy Copy indentation Copy the indentation of the main selection (or the count one if a count is given) to all other ones. Shift+Alt+7 (dance.mode == 'normal')
dance.delete.yank Yank and delete Yank and delete selections. D (dance.mode == 'normal')
dance.delete.insert.yank Yank, delete and insert Yank, delete and enter insert mode. C (dance.mode == 'normal')
dance.delete.noYank Delete without yank Delete selections without yanking. Alt+D (dance.mode == 'normal')
dance.delete.insert.noYank Delete and insert without yank Delete selections without yanking and enter insert mode. Alt+C (dance.mode == 'normal')
dance.yank Yank Yank selections. Y (dance.mode == 'normal')
dance.paste.after Paste after Paste after the end of each selection. P (dance.mode == 'normal')
dance.paste.before Paste before Paste before the start of each selection. Shift+P (dance.mode == 'normal')
dance.paste.select.after Paste after and select Paste after the end of each selection and select pasted text. Alt+P (dance.mode == 'normal')
dance.paste.select.before Paste before and select Paste before the start of each selection and select pasted text. Shift+Alt+P (dance.mode == 'normal')
dance.paste.replace Replace Replace selections with yanked text. Shift+R (dance.mode == 'normal')
dance.paste.replace.every Replace with every Replace selections with every yanked text. Shift+Alt+R (dance.mode == 'normal')
dance.replace.characters Replace character Replace each selected character with the next entered one. R (dance.mode == 'normal')
dance.join Join lines Join selected lines. Alt+J (dance.mode == 'normal')
dance.join.select Join lines and select spaces Join selected lines and select spaces inserted in place of line breaks. Shift+Alt+J (dance.mode == 'normal')
dance.indent Indent Indent selected lines. Shift+. (dance.mode == 'normal')
dance.indent.withEmpty Indent (including empty) Indent selected lines (including empty lines). Shift+Alt+. (dance.mode == 'normal')
dance.deindent Deindent Deindent selected lines. Shift+Alt+, (dance.mode == 'normal')
dance.deindent.further Deindent (including incomplete indent) Deindent selected lines (and remove additional incomplete indent). Shift+, (dance.mode == 'normal')
dance.toLowerCase Transform to lowercase Transform to lowercase. ``` (dance.mode == 'normal')
dance.toUpperCase Transform to uppercase Transform to uppercase. Shift+`` (dance.mode == 'normal'`)
dance.swapCase Swap case Swap case. Alt+`` (dance.mode == 'normal'`)
dance.pipe.filter Filter through pipe Pipe each selection to a program, and keeps it if the program returns 0. Shift+4 (dance.mode == 'normal')
dance.pipe.replace Pipe and replace Pipe each selection to a command, and replaces it with its output. Shift+\ (dance.mode == 'normal')
dance.pipe.ignore Pipe Pipe each selection to a command, ignoring their results. Shift+Alt+\ (dance.mode == 'normal')
dance.pipe.append Pipe and append Pipe each selection to a command, appending the output after the selection. Shift+1 (dance.mode == 'normal')
dance.pipe.prepend Pipe and prepend Pipe each selection to a command, prepending the output before the selection. Shift+Alt+1 (dance.mode == 'normal')
dance.history.undo Undo Undo. U (dance.mode == 'normal')
dance.history.backward Move backward in history Move backward in history. Alt+U (dance.mode == 'normal')
dance.history.redo Redo Redo. Shift+U (dance.mode == 'normal')
dance.history.forward Move forward in history Move forward in history. Shift+Alt+U (dance.mode == 'normal')
dance.history.repeat Repeat last change Repeat last change.
dance.history.repeat.selection Repeat last selection change Repeat last selection change.
dance.history.repeat.edit Repeat last edit change Repeat last edit change.
dance.macros.record.start Start recording macro Start recording macro. Shift+Q (dance.mode == 'normal' && !dance.recordingMacro)
dance.macros.record.stop Stop recording macro Stop recording macro. Escape (dance.mode == 'normal')
dance.macros.play Play macro Play macro. Q (dance.mode == 'normal')
dance.rotate Rotate Rotate each selection clockwise. Shift+9 (dance.mode == 'normal')
dance.rotate.backwards Rotate backwards Rotate each selection counter-clockwise. Shift+0 (dance.mode == 'normal')
dance.rotate.content Rotate selection content Rotate each selection (as well as its content) clockwise. Shift+Alt+9 (dance.mode == 'normal')
dance.rotate.content.backwards Rotate selection content backwards Rotate each selection (as well as its content) counter-clockwise. Shift+Alt+0 (dance.mode == 'normal')
dance.rotate.contentOnly Rotate content only Rotate each selection content clockwise, without changing selections.
dance.rotate.contentOnly.backwards Rotate content only backwards Rotate each selection content counter-clockwise, without changing selections.
dance.search Search Search for the given input string. / (dance.mode == 'normal')
dance.search.backwards Search backwards Search for the given input string before the current selections. Alt+/ (dance.mode == 'normal')
dance.search.selection.smart Search current selections (smart) Search current selections (smart). Shift+8 (dance.mode == 'normal')
dance.search.selection Search current selections Search current selections. Shift+Alt+8 (dance.mode == 'normal')
dance.search.next Select next match Select next match after the main selection. N (dance.mode == 'normal')
dance.search.next.add Add next match Add a new selection with the next match after the main selection. Shift+N (dance.mode == 'normal')
dance.search.previous Select previous match Select previous match before the main selection. Alt+N (dance.mode == 'normal')
dance.search.previous.add Add previous match Add a new selection with the previous match before the main selection. Shift+Alt+N (dance.mode == 'normal')
Select whole object Select whole object. Alt+A (dance.mode == 'normal'), Alt+A (dance.mode == 'insert')
Select inner object Select inner object. Alt+I (dance.mode == 'normal'), Alt+I (dance.mode == 'insert')
Select to the whole object start Select to the whole object start. [ (dance.mode == 'normal')
Select to the whole object end Select to the whole object end. ] (dance.mode == 'normal')
dance.objects.performSelection Perform selections specified in the arguments. Perform selections specified in the arguments..
dance.goto Go to... Shows prompt to jump somewhere G (dance.mode == 'normal')
dance.goto.lineStart Go to line start Go to line start.
dance.goto.lineStart.nonBlank Go to non-blank line start Go to first non-whitespace character of the line
dance.goto.lineEnd Go to line end Go to line end.
dance.goto.firstLine Go to first line Go to first line.
dance.goto.lastLine Go to last line Go to last line.
dance.goto.lastCharacter Go to last character of the document Go to last character of the document.
dance.goto.firstVisibleLine Go to first visible line Go to first visible line.
dance.goto.middleVisibleLine Go to middle visible line Go to middle visible line.
dance.goto.lastVisibleLine Go to last visible line Go to last visible line.
dance.goto.selectedFile Open file under selection Open file under selection.
dance.goto.lastModification Go to last buffer modification position Go to last buffer modification position.
dance.openMenu Open quick-jump menu Open quick-jump menu.
dance.registers.insert Insert value in register Insert value in register. Ctrl+R (dance.mode == 'normal'), Ctrl+R (dance.mode == 'insert')
dance.registers.select Select register for next command Select register for next command. Shift+\' (dance.mode == 'normal')
dance.marks.saveSelections Save selections Save selections. Shift+Z (dance.mode == 'normal')
dance.marks.restoreSelections Restore selections Restore selections. Z (dance.mode == 'normal')
dance.marks.combineSelections.fromCurrent Combine current selections with ones from register Combine current selections with ones from register. Shift+Alt+Z (dance.mode == 'normal')
dance.marks.combineSelections.fromRegister Combine register selections with current ones Combine register selections with current ones. Alt+Z (dance.mode == 'normal')
dance.cancel Cancel operation Cancels waiting for input from the user Escape (dance.mode == 'awaiting')
Open Command Palette Open the built-in Command Palette in VSCode Shift+; (dance.mode == 'normal')
dance.left.extend Move left (extend) Move left (extend). Shift+Left (dance.mode == 'normal'), Shift+H (dance.mode == 'normal')
dance.right.extend Move right (extend) Move right (extend). Shift+Right (dance.mode == 'normal'), Shift+L (dance.mode == 'normal')
dance.up.extend Move up (extend) Move up (extend). Shift+Up (dance.mode == 'normal'), Shift+K (dance.mode == 'normal')
dance.down.extend Move down (extend) Move down (extend). Shift+Down (dance.mode == 'normal'), Shift+J (dance.mode == 'normal')
dance.select.to.included.extend Extend to Extend to the next character pressed, including it. Shift+F (dance.mode == 'normal')
dance.select.to.excluded.extend Extend until Extend with until the next character pressed, excluding it. Shift+T (dance.mode == 'normal')
dance.select.line.extend Extend with line Extend with line on which the end of each selection lies (or next line when end lies on an end-of-line). Shift+X (dance.mode == 'normal')
dance.select.toLineBegin.extend Extend to line beginning Extend to line beginning. Shift+Alt+H (dance.mode == 'normal'), Shift+Home (dance.mode == 'normal')
dance.select.toLineEnd.extend Extend to line end Extend to line end. Shift+Alt+L (dance.mode == 'normal'), Shift+End (dance.mode == 'normal')
dance.select.enclosing.extend Extend with enclosing characters Extend with enclosing characters. Shift+M (dance.mode == 'normal')
dance.select.word.extend Extend to next word start Extend with the word and following whitespaces on the right of the end of each selection. Shift+W (dance.mode == 'normal')
dance.select.word.previous.extend Extend to previous word start Extend with preceding whitespaces and the word on the left of the end of each selection. Shift+B (dance.mode == 'normal')
dance.select.word.end.extend Extend to next word end Extend with preceding whitespaces and the word on the right of the end of each selection. Shift+E (dance.mode == 'normal')
dance.select.word.alt.extend Extend to next non-whitespace word start Extend with the non-whitespace word and following whitespaces on the right of the end of each selection. Shift+Alt+W (dance.mode == 'normal')
dance.select.word.alt.previous.extend Extend to previous non-whitespace word start Extend with preceding whitespaces and the non-whitespace word on the left of the end of each selection. Shift+Alt+B (dance.mode == 'normal')
dance.select.word.alt.end.extend Extend to next non-whitespace word end Extend with preceding whitespaces and the non-whitespace word on the right of the end of each selection. Shift+Alt+E (dance.mode == 'normal')
dance.search.extend Search (extend) Search for the given input string (extend). Shift+/ (dance.mode == 'normal')
dance.search.backwards.extend Search backwards (extend) Search for the given input string before the current selections (extend). Shift+Alt+/ (dance.mode == 'normal')
Extend to the whole object start Extend to the whole object start. Shift+[ (dance.mode == 'normal')
Extend to the whole object end Extend to the whole object end. Shift+] (dance.mode == 'normal')
dance.goto.extend Go to... (extend) Shows prompt to jump somewhere Shift+G (dance.mode == 'normal')
dance.goto.lineStart.extend Go to line start (extend) Go to line start (extend).
dance.goto.lineStart.nonBlank.extend Go to non-blank line start (extend) Go to first non-whitespace character of the line
dance.goto.lineEnd.extend Go to line end (extend) Go to line end (extend).
dance.goto.firstLine.extend Go to first line (extend) Go to first line (extend).
dance.goto.lastLine.extend Go to last line (extend) Go to last line (extend).
dance.goto.lastCharacter.extend Go to last character of the document (extend) Go to last character of the document (extend).
dance.goto.firstVisibleLine.extend Go to first visible line (extend) Go to first visible line (extend).
dance.goto.middleVisibleLine.extend Go to middle visible line (extend) Go to middle visible line (extend).
dance.goto.lastVisibleLine.extend Go to last visible line (extend) Go to last visible line (extend).
dance.goto.lastModification.extend Go to last buffer modification position (extend) Go to last buffer modification position (extend).
dance.select.to.included.backwards Select to (backwards) Select to the next character pressed, including it. (backwards) Alt+F (dance.mode == 'normal')
dance.select.to.excluded.backwards Select until (backwards) Select until the next character pressed, excluding it. (backwards) Alt+T (dance.mode == 'normal')
dance.select.enclosing.backwards Select enclosing characters (backwards) Select enclosing characters. (backwards) Alt+M (dance.mode == 'normal')
dance.select.to.included.extend.backwards Extend to (backwards) Extend to the next character pressed, including it. (backwards) Alt+Shift+F (dance.mode == 'normal')
dance.select.to.excluded.extend.backwards Extend until (backwards) Extend with until the next character pressed, excluding it. (backwards) Alt+Shift+T (dance.mode == 'normal')
dance.select.enclosing.extend.backwards Extend with enclosing characters (backwards) Extend with enclosing characters. (backwards) Alt+Shift+M (dance.mode == 'normal')
Select to the inner object start Select to the inner object start. Alt+[ (dance.mode == 'normal')
Select to the inner object end Select to the inner object end. Alt+] (dance.mode == 'normal')
Extend to the inner object start Extend to the inner object start. Alt+Shift+[ (dance.mode == 'normal')
Extend to the inner object end Extend to the inner object end. Alt+Shift+] (dance.mode == 'normal')
dance.count.0 Count 0 Adds 0 to the current counter for the next operation. 0 (dance.mode == 'normal')
dance.count.1 Count 1 Adds 1 to the current counter for the next operation. 1 (dance.mode == 'normal')
dance.count.2 Count 2 Adds 2 to the current counter for the next operation. 2 (dance.mode == 'normal')
dance.count.3 Count 3 Adds 3 to the current counter for the next operation. 3 (dance.mode == 'normal')
dance.count.4 Count 4 Adds 4 to the current counter for the next operation. 4 (dance.mode == 'normal')
dance.count.5 Count 5 Adds 5 to the current counter for the next operation. 5 (dance.mode == 'normal')
dance.count.6 Count 6 Adds 6 to the current counter for the next operation. 6 (dance.mode == 'normal')
dance.count.7 Count 7 Adds 7 to the current counter for the next operation. 7 (dance.mode == 'normal')
dance.count.8 Count 8 Adds 8 to the current counter for the next operation. 8 (dance.mode == 'normal')
dance.count.9 Count 9 Adds 9 to the current counter for the next operation. 9 (dance.mode == 'normal')