# Command palette, keyboard model and the command line

> Every command from the keyboard: a fuzzy palette (Ctrl+Shift+P), orthodox F-keys beside VS Code-style chords, rebinding, go-to-file, frecency jump.

- Canonical: https://cwdio.com/features/command-palette-and-keyboard/
- Updated: 2026-08-15
- Product: Cwdio File Manager (cwdio) — https://cwdio.com

cwdio is built keyboard-first: every command has a name, most have a chord, and the palette makes the
rest one keystroke away. The default keymap keeps the orthodox commander row — <kbd>F5</kbd> copy,
<kbd>F6</kbd> move, <kbd>F7</kbd> new folder, <kbd>F8</kbd> delete — and puts the developer chords beside it:
<kbd>Ctrl+P</kbd> go to file, <kbd>Ctrl+Shift+P</kbd> palette, <kbd>Ctrl+Shift+F</kbd> search, <kbd>Ctrl+&#96;</kbd> terminal.
The full table is on the [keyboard shortcuts](/docs/keyboard-shortcuts/) page.

## What it does

- **Command palette.** <kbd>Ctrl+Shift+P</kbd> or <kbd>F1</kbd>. Fuzzy matching rewards consecutive runs, word
  boundaries and acronyms; an empty query lists recently used commands first; disabled commands are hidden.
  Menu categories and palette categories are the same words, so the two tell one story.
- **One keymap, one truth.** The chord shown next to a command in the palette, the menus and the shortcuts
  reference is derived from the same table that runs it, so a hint can never drift from what the key does.
- **Rebinding.** Help ▸ Keyboard shortcuts (<kbd>Ctrl+/</kbd>) lists every bound command grouped by category
  with a type-to-filter box; each row has a pencil to capture a new chord and a reset; Reset all clears
  every override. Conflicts and reserved keys are reported inline and the binding left unchanged.
- **Go to file.** <kbd>Ctrl+P</kbd> flattens the active panel's subtree once and fuzzy-ranks the relative
  paths; <kbd>Enter</kbd> navigates to the file's folder and selects it.
- **Jump to recent folder.** <kbd>Ctrl+J</kbd> ranks the folders you actually go to by frequency and recency
  (recent visits weigh more, older ones decay); type to filter, <kbd>Enter</kbd> to jump, <kbd>Delete</kbd> to
  forget one.
- **Favourites.** <kbd>Ctrl+Shift+B</kbd> opens the bookmarked-folder picker; Add current folder bookmarks
  where you are. Favourites can also sit as one-click buttons on the launcher bar.
- **The address bar from the keyboard.** <kbd>Alt+D</kbd> makes the breadcrumb editable; the input
  autocompletes subfolders as you type, and an empty or separator-less draft lists frecent folders instead.
- **Orthodox selection keys.** <kbd>*</kbd> inverts the selection; <kbd>+</kbd> and <kbd>-</kbd> select or unselect
  by wildcard pattern (`*.jpg; *.png`). Edit ▸ Select also offers select by size, by date, read-only files,
  and files of the same type as the cursor file.
- **The command line.** A one-line command line sits under the panels (the Midnight Commander model): type
  a command and it runs in the active terminal session, in the panel's folder. <kbd>Ctrl+Enter</kbd> inserts
  the cursor file's name, <kbd>Ctrl+Shift+Enter</kbd> its full path.
- **A keyboard-operable menu bar.** <kbd>F10</kbd> focuses it, <kbd>Alt+letter</kbd> opens a menu directly, arrows
  move, type-ahead jumps. Eight menus — File, Edit, View, Go, Tools, Terminal, Plugins, Help — placed by the
  same categories the palette uses.

## How to use it

1. Forget the chord and open the palette: <kbd>Ctrl+Shift+P</kbd>, type `dup` for the duplicate finder or `siz`
   for the size map. The chord is printed beside the match; next time, use it.
2. To reach a file deep in a project, <kbd>Ctrl+P</kbd> and type part of its name — `readme`, `pkg.json` — then
   <kbd>Enter</kbd>.
3. To go back to a folder you use every day, <kbd>Ctrl+J</kbd> and two or three letters of it.
4. To make a habit official, bookmark it: <kbd>Ctrl+Shift+B</kbd> ▸ Add current folder.
5. Rebind anything that fights your muscle memory in <kbd>Ctrl+/</kbd>.

## What is reserved, and why

<kbd>Tab</kbd> switches panels, <kbd>Esc</kbd> closes whatever is open, <kbd>Enter</kbd> opens the cursor entry, and
<kbd>F1</kbd> / <kbd>Ctrl+Shift+P</kbd> open the palette. These are core gestures handled before the keymap, so
they cannot be given to a command. Global chords — the terminal toggles — fire even while an input field
has focus; every other chord is panel-scoped and ignored while you are typing in the command line, the
address bar or a dialog, so a file name can never trigger a file operation.

## What it deliberately does not do

- It does not bind a currently unbound command, offer secondary chords, or unbind (disable) a command yet;
  rebinding is one chord per command.
- The palette does not run commands that are disabled in the current state — they are hidden, so a stale
  hint never leads to a no-op.
- The command line is not a shell of its own: it writes into the active terminal session, so what runs
  there is exactly what would run in the terminal.

## Related

- [Keyboard shortcuts](/docs/keyboard-shortcuts/) — the complete default keymap, grouped by menu.
- [Terminal sync](/features/terminal-sync/) — where the command line's input goes.
- [Dual panes, tabs and the workspace](/features/dual-pane-and-tabs/) — the panels these keys act on.

## Frequently asked questions

**How do I find a command I do not know the shortcut for?** Press Ctrl+Shift+P (or F1) and start typing. The palette fuzzy-matches every command — including commands added by plugins — shows each one's current shortcut, and lists your recently used commands first when the box is empty. Commands that cannot run right now (nothing selected, nothing to undo) are hidden rather than greyed.

**Can I rebind a shortcut?** Yes. Help ▸ Keyboard shortcuts (Ctrl+/) lists every bound command; the pencil on a row captures your next keystroke, and Reset restores the default. An override replaces the command's default chord and takes that chord away from whatever held it. Tab, Esc, Enter, F1 and Ctrl+Shift+P are reserved and cannot be assigned.

**What is the difference between Ctrl+F, Ctrl+P and Ctrl+Shift+F?** Ctrl+F filters the panel you are in as you type. Ctrl+P is go-to-file: a fuzzy finder over every file under the current folder that reveals the match. Ctrl+Shift+F is the recursive search overlay, by name or by content, with saved searches. The split follows VS Code: find here, go to file, find in tree.

**What does Ctrl+J do?** It opens Jump to recent folder — a zoxide-style picker ranked by frecency (how often and how recently you went there). Type a fragment, press Enter, and the active panel is there. Only deliberate navigations count; a refresh or a Back never inflates a folder's score.
