# cwdio keyboard shortcuts — the complete default keymap

> Every default cwdio shortcut, grouped by menu: the orthodox F-keys (F5 copy, F6 move, F7, F8), developer chords (Ctrl+P, Ctrl+Shift+F), tabs, terminal, git. Rebindable.

- Canonical: https://cwdio.com/docs/keyboard-shortcuts/
- Updated: 2026-08-15
- Product: Cwdio File Manager (cwdio) — https://cwdio.com

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:

- **<kbd>Ctrl+Shift+P</kbd> or <kbd>F1</kbd> 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.
- **<kbd>Tab</kbd> switches panels; <kbd>Esc</kbd> closes whatever is open; <kbd>Enter</kbd> opens.**
  These are reserved and cannot be rebound.
- **Everything else can be rebound** in Help ▸ Keyboard shortcuts (<kbd>Ctrl+/</kbd>). An override replaces
  the default and steals the chord from whatever held it.

## The default keymap

### Terminal

| Keys | Command | What it does | Id |
| --- | --- | --- | --- |
| <kbd>Ctrl+&#96;</kbd> · <kbd>Ctrl+O</kbd> | Show or hide terminal | Opens in the active panel's folder. Two chords: the backtick (Windows Terminal) and Ctrl+O (orthodox). | `terminal.toggle` |
| <kbd>Ctrl+Shift+&#96;</kbd> | New terminal | Another session; the ▾ picker on the terminal tab bar chooses the shell. | `terminal.new` |
| <kbd>Ctrl+Enter</kbd> | Insert file name (command line) | Puts the cursor file's name at the command line — the Total Commander habit. | `cmd.insertName` |
| <kbd>Ctrl+Shift+Enter</kbd> | Insert file path (command line) | Same, with the full path. | `cmd.insertPath` |

### File

| Keys | Command | What it does | Id |
| --- | --- | --- | --- |
| <kbd>F5</kbd> | Copy to other panel | Copies the selection to the other panel through the queue (verify, resume, undo). | `file.copyToOther` |
| <kbd>F6</kbd> | Move to other panel | Moves the selection to the other panel. | `file.moveToOther` |
| <kbd>F2</kbd> | Rename | Inline rename of the cursor file. | `file.rename` |
| <kbd>Shift+F2</kbd> | Rename multiple… | Bulk rename with live preview. | `file.renameStudio` |
| <kbd>F7</kbd> | New Folder |  | `file.newFolder` |
| <kbd>Ctrl+N</kbd> | New File | An empty file, named inline. | `file.newFile` |
| <kbd>Ctrl+Shift+N</kbd> | New Window | Another cwdio window. | `window.newWindow` |
| <kbd>Del</kbd> · <kbd>F8</kbd> | Delete | To the Recycle Bin. | `file.delete` |
| <kbd>Shift+Del</kbd> | Delete permanently | Bypasses the Recycle Bin — confirmed, danger-styled. | `file.deletePermanent` |
| <kbd>Ctrl+D</kbd> | Duplicate | Copy in place, auto-renamed. | `file.duplicate` |
| <kbd>F4</kbd> | Edit | The built-in quick editor or your external editor, per Preferences ▸ Editor. | `file.edit` |
| <kbd>Shift+F4</kbd> | New text file… | A new text file, opened straight in the editor. | `file.newTextFile` |
| <kbd>Ctrl+E</kbd> | Edit in external editor | Always the external editor. | `file.editExternal` |
| <kbd>Ctrl+Shift+F4</kbd> | Edit in built-in editor | Always the built-in editor. | `file.editInternal` |
| <kbd>Alt+Enter</kbd> | Properties |  | `file.properties` |

### Edit

| Keys | Command | What it does | Id |
| --- | --- | --- | --- |
| <kbd>Ctrl+Z</kbd> | Undo | Undoes the last batch: copy, move, rename, new folder, overwrite, an AI action. | `edit.undo` |
| <kbd>Ctrl+Y</kbd> · <kbd>Ctrl+Shift+Z</kbd> | Redo |  | `edit.redo` |
| <kbd>Ctrl+C</kbd> | Copy | Also writes the Windows clipboard, so Explorer can paste. | `edit.copy` |
| <kbd>Ctrl+X</kbd> | Cut |  | `edit.cut` |
| <kbd>Ctrl+V</kbd> | Paste | Pastes from cwdio or from Explorer, as a copy or a move. | `edit.paste` |
| <kbd>*</kbd> · <kbd>Shift+*</kbd> | Invert selection | The numpad * key. | `selection.invert` |
| <kbd>+</kbd> · <kbd>Shift++</kbd> | Select by pattern… | The numpad + key: select by wildcard. | `selection.selectPattern` |
| <kbd>-</kbd> | Unselect by pattern… | The numpad − key. | `selection.unselectPattern` |

### View

| Keys | Command | What it does | Id |
| --- | --- | --- | --- |
| <kbd>Space</kbd> · <kbd>F3</kbd> | Quick Look | Preview the cursor file in an overlay: images, video, audio, PDF, CSV tables, Markdown, code. | `view.quickLook` |
| <kbd>Ctrl+Q</kbd> | Quick view (preview) | The docked preview pane that follows the cursor. | `view.quickView` |
| <kbd>Ctrl+L</kbd> | Operations | The Operations drawer — the queue, progress, history. | `view.operations` |
| <kbd>Ctrl+H</kbd> | Show hidden files |  | `view.toggleHidden` |
| <kbd>Ctrl+B</kbd> | Flat (branch) view | Every file under the folder in one flat list (Total Commander's branch view). | `view.flatView` |
| <kbd>Ctrl+=</kbd> · <kbd>Ctrl++</kbd> · <kbd>Ctrl+Shift++</kbd> | Larger tiles | In grid view. | `view.tileLarger` |
| <kbd>Ctrl+-</kbd> | Smaller tiles | In grid view. | `view.tileSmaller` |
| <kbd>Ctrl+Shift+E</kbd> | Locations | The Locations sidebar: drives, favourites, the folder tree. | `view.folderTree` |
| <kbd>Ctrl+Alt+B</kbd> | AI assistant | The AI assistant panel. | `view.secondarySidebar` |
| <kbd>Ctrl+Alt+0</kbd> | Reset layout | Back to the two-panel default. | `view.resetLayout` |
| <kbd>Ctrl+F</kbd> | Filter current folder | Narrows the focused panel as you type; Esc clears. | `view.filter` |
| <kbd>Alt+Shift+Enter</kbd> | Calculate folder sizes | Sizes for every folder in the panel. | `view.folderSizes` |
| <kbd>Ctrl+Shift+T</kbd> | Size map… | The treemap of what is using the space. | `view.sizeMap` |

### Go

| Keys | Command | What it does | Id |
| --- | --- | --- | --- |
| <kbd>Backspace</kbd> · <kbd>Alt+Up</kbd> · <kbd>Ctrl+PageUp</kbd> | Parent folder | Three chords: Backspace, Alt+Up (Explorer) and Ctrl+PageUp (Total Commander). | `nav.parent` |
| <kbd>Alt+Left</kbd> | Back |  | `nav.back` |
| <kbd>Alt+Right</kbd> | Forward |  | `nav.forward` |
| <kbd>Ctrl+U</kbd> | Swap panels | The two panels trade folders. | `nav.swapPanels` |
| <kbd>Alt+D</kbd> | Edit address bar | Type or paste a path. | `nav.editPath` |
| <kbd>Alt+F1</kbd> | Select drive (left panel) |  | `nav.driveMenuLeft` |
| <kbd>Alt+F2</kbd> | Select drive (right panel) |  | `nav.driveMenuRight` |
| <kbd>Ctrl+P</kbd> | Go to file… | Fuzzy find a file under the current folder. | `nav.goToFile` |
| <kbd>Ctrl+Shift+B</kbd> | Favorite folders… | Your bookmarked folders. | `go.favorites` |
| <kbd>Ctrl+J</kbd> | Jump to recent folder… | Frecency-ranked recent folders — the zoxide habit. | `go.jumpToFolder` |
| <kbd>Ctrl+T</kbd> | New tab | A new folder tab in the active panel. | `tab.new` |
| <kbd>Ctrl+W</kbd> | Close tab |  | `tab.close` |
| <kbd>Ctrl+Tab</kbd> | Next tab |  | `tab.next` |
| <kbd>Ctrl+Shift+Tab</kbd> | Previous tab |  | `tab.prev` |

### Tools

| Keys | Command | What it does | Id |
| --- | --- | --- | --- |
| <kbd>Ctrl+Shift+F</kbd> | Search | By name or by content, honouring .gitignore; results are live rows. | `tools.search` |
| <kbd>Ctrl+Shift+D</kbd> | Compare files | Side-by-side diff of two files. | `tools.compareFiles` |
| <kbd>Ctrl+Shift+S</kbd> | Synchronize panels… | Compare the two panels' folders and sync them. | `tools.syncPanels` |
| <kbd>Ctrl+Shift+G</kbd> | Git changes |  | `tools.gitChanges` |
| <kbd>Ctrl+Shift+H</kbd> | Git history |  | `tools.gitHistory` |
| <kbd>Ctrl+,</kbd> | Preferences… |  | `tools.preferences` |

### Help

| Keys | Command | What it does | Id |
| --- | --- | --- | --- |
| <kbd>Ctrl+/</kbd> | 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 <kbd>Alt+F1</kbd>/<kbd>Alt+F2</kbd> for the
  drive lists, <kbd>Ctrl+U</kbd> to swap panels, <kbd>Ctrl+B</kbd> for branch view and the numpad selection
  keys. <kbd>Ctrl+Enter</kbd>/<kbd>Ctrl+Shift+Enter</kbd> put the cursor file's name/path on the command line.
- **From Explorer:** <kbd>Alt+Up</kbd>, <kbd>Alt+Left</kbd>/<kbd>Alt+Right</kbd>, <kbd>Alt+D</kbd>,
  <kbd>Alt+Enter</kbd> and <kbd>Ctrl+C</kbd>/<kbd>X</kbd>/<kbd>V</kbd> 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:** <kbd>Ctrl+P</kbd> go to file, <kbd>Ctrl+Shift+F</kbd> search,
  <kbd>Ctrl+Shift+P</kbd> palette, <kbd>Ctrl+&#96;</kbd> terminal, <kbd>Ctrl+Shift+E</kbd> the sidebar,
  <kbd>Ctrl+,</kbd> preferences.
- **From zoxide:** <kbd>Ctrl+J</kbd> 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](/features/terminal-sync/), [the command palette and keyboard
model](/features/command-palette-and-keyboard/), and [Getting started](/docs/getting-started/).

## Frequently asked 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.
