Note
None of this is implemented yet.
The ultimate Neovim alternative for VSCode. Custom modes, key bindings, and a clean interface—forked from Dance, inspired by Helix.
- ⌨️ No touching the mouse • Pure keyboard efficiency
- ✨ Beautiful Zen interface • Distraction-free flow state
- 🚀 Quick Scripting and Macros • Automate your workflow
- 🌟 Teleport through your codebase • Lightning-fast navigation
- 🎓 Easy to learn • Natural key mappings
- 🧑💻 Modal editing perfected • Move, modify, select, inspect
- 🔮 Smart selections • Multi-cursor magic at your fingertips
- 🧭 Move mode: Navigate with vim-like motions (h,j,k,l, etc.)
- ✏️ Modify mode: Write and edit code
- 🔍 Select mode: Change your selection
- 💡 Inspect mode: Explore code details with definitions, references, and more.
esc Return to move mode
⎈space Intelisense
⇧space Completion
⎈⇧space/⎈i Inline Chat
⎈1/⎈⇧g Toggle git
⎈2/⎈⇧e Toggle explorer
⎈3/⎈⇧c Toggle copilot chat
⎈4/⎈⇧s Toggle search
⎈5/⎈⇧t Toggle timeline
⎈6/⎈⇧l Toggle outline
⎈7/⎈⇧b Toggle debug
⎈8/⎈⇧x Toggle extensions
⎈b Toggle sidebar
⎈o Toggle panel
⎈p Pop this tab out into a new window
⎈⎇p Join this tab back
⎈m Make one more window
⎈⇧f Search codebase
⎈t Search symbol
⎈tab Switch tab forwards, ⎈⇧tab backwards
⎈w Close tab
⎈s Save file
⎈r Switch to recent project
Drag n' Drop Open file / folder
⎈g Jump to line
⎈h Switch between header and source file
⎈n Open a new temporary file
⎈⇧s Save all files
h Left, ⎇h extending
j Down, ⎇j extending
k Up, ⎇k extending
l Right, ⎇l extending
w Select ahead until next word, ⎇w extending
e Select ahead to word end, ⎇e extending
b Select back to word start, ⎇b extending
g Get (select & copy) word, ⇧g non-whitespace
⇧w Select ahead until next non-whitespace, ⎇⇧w extending
⇧e Select ahead until next whitespace, ⎇⇧e extending
⇧b Select back until whitespace, ⎇⇧b extending
f◌ Select ahead to ◌, ⎇f◌ extending
⇧f◌ Select back to ◌, ⎇⇧f◌ extending
t◌ Select ahead until ◌, ⎇t◌ extending
⇧t◌ Select back until ◌, ⎇⇧t◌ extending
x Select line below, ⇧x above
⎈h/⎈left Select to line start, ⎈⎇h/⎈⎇left extending
⎈l/⎈right Select to line end, ⎈⎇l/⎈⎇right extending
⎈d/⎈⇧u Halfpage down, ⎈⎇d/⎈⎇⇧u extending
⎈u/⎈⇧d Halfpage up, ⎈⎇u/⎈⎇⇧d extending
z Toggle fold at cursor
⎈f Search
⎈⎇f Search and Replace
n Next search result, ⇧n previous result
⎈a Select all
; Clear selections
v⌨ Visually select
⇧; Switch cursor side
⎇n Select next ocurrence of selection, ⎇⇧n previous ocurrence
m Select object
⇧- Trim whitespaces from selection
⎇c/⎈⇧j/⎈⇧down Copy selections to below, ⎇⇧c/⎈⇧k/⎈⇧up above
s Select all regex matches in selection or leap ahead if nothing selected
⇧s Split selection for lines or leap back if nothing selected
⇧k Keep selections matching regex
⇧m Merge selections
⎇s Split by delimiter regex
[ To last Jumppoint, ] next Jumppoint
d/⎈x Cut, del/backspace Delete
p/⎈v Paste before, ⇧p/⎈⇧v after
⎇p Duplicate line to below, ⎇⇧p above
u/⎈z/⎈⇧y Undo
⇧u/⎈⇧z/⎈y Redo
i ⌨ Insert ⌨ before selection
a ⌨ Append ⌨ after selection
⇧i ⌨ Insert ⌨ at line start
⇧a ⌨ Append ⌨ at line end
o ⌨ Add ⌨ as newline below, ⇧o ⌨ above
c ⌨ Change seletion to ⌨ after Copy, ⎈⎇c ⌨ without copying
r◌ Replace each character with ◌
⇧r Replace with clipboard after Copy, ⎈⇧r without copying
⎈j/⎈down move line down, ⎈k/⎈up up
tab Indent, ⇧tab Unindent
⇧j Join lines
- Remove empty lines from selection
enter Add line below selection, ⇧enter above selection
⎇space Add space before selection, ⎇⇧space after selection
⇧c Comment selected lines (toggle)
" Enclose as 
= Format selection
⎇= Switch case, ⎈= Convert to lowercase, ⎈⇧= uppercase
q Execute this macro
. Repeat change over here
⎈⇧k/⎇⇧up increment selected number, ⎈⎇j/⎇⇧down decrement
⎇⇧] Cycle selection content forward, ⎇⇧[ backward
y/⎈c Copy
space Inspect
⇧q Record a macro (toggle)
⎈q Load a macro
⎈⇧q Save a macro
[0-9]* 🗲 Run 🗲 this many times
f Go to definition
t Go to type definition
z Go to implementations
g Go to references
r Rename
⇧r Rename to clipboard
space Quick Fix
e Inspect next problem, ⇧e previous problem
y/⎈c Copy the symbol
⇧y Copy the symbol info
h Left
j Down
k Up
l Right
a Create file, ⇧a folder
r/F2 Rename
We remove most the fuss from your view. No split panes or distractions.
It is the window manager's job to take care of panes. Use ⎈p and multiple windows.
Danceflow is designed to work out of the box with sensible defaults, but you can customize key bindings in your VSCode settings.