cwdio ships with one default keymap. The first chord listed for a command is the one shown in menus and
the palette; where a command has several, the others are the habits inherited from Total Commander,
Explorer, Windows Terminal or VS Code.
Three things to know before the table:
- Ctrl+Shift+P or F1 opens the command palette. Every command, its shortcut,
fuzzy search, recent first. It is the way to use a feature whose chord you have not learned yet.
- Tab switches panels; Esc closes whatever is open; Enter opens.
These are reserved and cannot be rebound.
- Everything else can be rebound in Help ▸ Keyboard shortcuts (Ctrl+/). An override replaces
the default and steals the chord from whatever held it.
The default keymap
Terminal
| Keys | Command | What it does | Id |
|---|
| Ctrl+` · Ctrl+O | Show or hide terminal | Opens in the active panel’s folder. Two chords: the backtick (Windows Terminal) and Ctrl+O (orthodox). | terminal.toggle |
| Ctrl+Shift+` | New terminal | Another session; the ▾ picker on the terminal tab bar chooses the shell. | terminal.new |
| Ctrl+Enter | Insert file name (command line) | Puts the cursor file’s name at the command line — the Total Commander habit. | cmd.insertName |
| Ctrl+Shift+Enter | Insert file path (command line) | Same, with the full path. | cmd.insertPath |
File
| Keys | Command | What it does | Id |
|---|
| F5 | Copy to other panel | Copies the selection to the other panel through the queue (verify, resume, undo). | file.copyToOther |
| F6 | Move to other panel | Moves the selection to the other panel. | file.moveToOther |
| F2 | Rename | Inline rename of the cursor file. | file.rename |
| Shift+F2 | Rename multiple… | Bulk rename with live preview. | file.renameStudio |
| F7 | New Folder | | file.newFolder |
| Ctrl+N | New File | An empty file, named inline. | file.newFile |
| Ctrl+Shift+N | New Window | Another cwdio window. | window.newWindow |
| Del · F8 | Delete | To the Recycle Bin. | file.delete |
| Shift+Del | Delete permanently | Bypasses the Recycle Bin — confirmed, danger-styled. | file.deletePermanent |
| Ctrl+D | Duplicate | Copy in place, auto-renamed. | file.duplicate |
| F4 | Edit | The built-in quick editor or your external editor, per Preferences ▸ Editor. | file.edit |
| Shift+F4 | New text file… | A new text file, opened straight in the editor. | file.newTextFile |
| Ctrl+E | Edit in external editor | Always the external editor. | file.editExternal |
| Ctrl+Shift+F4 | Edit in built-in editor | Always the built-in editor. | file.editInternal |
| Alt+Enter | Properties | | file.properties |
Edit
| Keys | Command | What it does | Id |
|---|
| Ctrl+Z | Undo | Undoes the last batch: copy, move, rename, new folder, overwrite, an AI action. | edit.undo |
| Ctrl+Y · Ctrl+Shift+Z | Redo | | edit.redo |
| Ctrl+C | Copy | Also writes the Windows clipboard, so Explorer can paste. | edit.copy |
| Ctrl+X | Cut | | edit.cut |
| Ctrl+V | Paste | Pastes from cwdio or from Explorer, as a copy or a move. | edit.paste |
| · Shift+ | Invert selection | The numpad * key. | selection.invert |
| + · Shift++ | Select by pattern… | The numpad + key: select by wildcard. | selection.selectPattern |
| - | Unselect by pattern… | The numpad − key. | selection.unselectPattern |
View
| Keys | Command | What it does | Id |
|---|
| Space · F3 | Quick Look | Preview the cursor file in an overlay: images, video, audio, PDF, CSV tables, Markdown, code. | view.quickLook |
| Ctrl+Q | Quick view (preview) | The docked preview pane that follows the cursor. | view.quickView |
| Ctrl+L | Operations | The Operations drawer — the queue, progress, history. | view.operations |
| Ctrl+H | Show hidden files | | view.toggleHidden |
| Ctrl+B | Flat (branch) view | Every file under the folder in one flat list (Total Commander’s branch view). | view.flatView |
| Ctrl+= · Ctrl++ · Ctrl+Shift++ | Larger tiles | In grid view. | view.tileLarger |
| Ctrl+- | Smaller tiles | In grid view. | view.tileSmaller |
| Ctrl+Shift+E | Locations | The Locations sidebar: drives, favourites, the folder tree. | view.folderTree |
| Ctrl+Alt+B | AI assistant | The AI assistant panel. | view.secondarySidebar |
| Ctrl+Alt+0 | Reset layout | Back to the two-panel default. | view.resetLayout |
| Ctrl+F | Filter current folder | Narrows the focused panel as you type; Esc clears. | view.filter |
| Alt+Shift+Enter | Calculate folder sizes | Sizes for every folder in the panel. | view.folderSizes |
| Ctrl+Shift+T | Size map… | The treemap of what is using the space. | view.sizeMap |
Go
| Keys | Command | What it does | Id |
|---|
| Backspace · Alt+Up · Ctrl+PageUp | Parent folder | Three chords: Backspace, Alt+Up (Explorer) and Ctrl+PageUp (Total Commander). | nav.parent |
| Alt+Left | Back | | nav.back |
| Alt+Right | Forward | | nav.forward |
| Ctrl+U | Swap panels | The two panels trade folders. | nav.swapPanels |
| Alt+D | Edit address bar | Type or paste a path. | nav.editPath |
| Alt+F1 | Select drive (left panel) | | nav.driveMenuLeft |
| Alt+F2 | Select drive (right panel) | | nav.driveMenuRight |
| Ctrl+P | Go to file… | Fuzzy find a file under the current folder. | nav.goToFile |
| Ctrl+Shift+B | Favorite folders… | Your bookmarked folders. | go.favorites |
| Ctrl+J | Jump to recent folder… | Frecency-ranked recent folders — the zoxide habit. | go.jumpToFolder |
| Ctrl+T | New tab | A new folder tab in the active panel. | tab.new |
| Ctrl+W | Close tab | | tab.close |
| Ctrl+Tab | Next tab | | tab.next |
| Ctrl+Shift+Tab | Previous tab | | tab.prev |
| Keys | Command | What it does | Id |
|---|
| Ctrl+Shift+F | Search | By name or by content, honouring .gitignore; results are live rows. | tools.search |
| Ctrl+Shift+D | Compare files | Side-by-side diff of two files. | tools.compareFiles |
| Ctrl+Shift+S | Synchronize panels… | Compare the two panels’ folders and sync them. | tools.syncPanels |
| Ctrl+Shift+G | Git changes | | tools.gitChanges |
| Ctrl+Shift+H | Git history | | tools.gitHistory |
| Ctrl+, | Preferences… | | tools.preferences |
Help
| Keys | Command | What it does | Id |
|---|
| Ctrl+/ | Keyboard shortcuts… | The in-app table, where any chord can be rebound. | help.shortcuts |
Notes for people arriving from other file managers
- From Total Commander: the F-key row is intact, including Alt+F1/Alt+F2 for the
drive lists, Ctrl+U to swap panels, Ctrl+B for branch view and the numpad selection
keys. Ctrl+Enter/Ctrl+Shift+Enter put the cursor file’s name/path on the command line.
- From Explorer: Alt+Up, Alt+Left/Alt+Right, Alt+D,
Alt+Enter and Ctrl+C/X/V mean the same — and the clipboard is
the Windows clipboard, so a copy here pastes in Explorer and vice versa.
- From VS Code / Windows Terminal: Ctrl+P go to file, Ctrl+Shift+F search,
Ctrl+Shift+P palette, Ctrl+` terminal, Ctrl+Shift+E the sidebar,
Ctrl+, preferences.
- From zoxide: Ctrl+J jumps to a recent folder by frecency.
The table above is generated from the app’s own keymap and checked against it by a test, so it cannot go
stale silently. See also the terminal, the command palette and keyboard
model, and Getting started.
Questions
Can I change a shortcut?
Yes. Help ▸ Keyboard shortcuts (Ctrl+/) lists every command with its chord and lets you rebind it; a rebound chord replaces the default and is taken away from whatever else held it, so an override always wins. Tab, Escape, Enter, F1 and Ctrl+Shift+P are reserved for core gestures and cannot be bound to a command.
How do I open the command palette?
Ctrl+Shift+P or F1. It lists every command with its current shortcut and fuzzy-matches as you type, recent commands first — so you never need to memorise a chord to use a feature.
Do shortcuts work while I am typing in the command line?
The global ones do — the terminal toggles and the new-terminal chord — because they are resolved before the input guard. Panel-scoped chords such as F5 or Delete are ignored while an input has focus, so typing a file name never triggers a file operation.
Are these the Total Commander keys?
The orthodox core is: F5 copy, F6 move, F7 new folder, F8 delete, F2 rename, F3 view, F4 edit, Alt+F1/Alt+F2 drive lists, Ctrl+U swap panels, Ctrl+B branch view, numpad + − * selection, Ctrl+PageUp parent, Alt+Shift+Enter folder sizes. Developer-audience chords sit beside them, borrowed from VS Code and Windows Terminal.