Complete Fish Shell keyboard shortcuts reference — 18 shortcuts across 3 categories. Quick reference cheat sheet for Windows & Mac.
fish is the shell that suggests commands as you type, and half of its keymap is about accepting those suggestions; the other half is readline-style line editing plus a few Alt shortcuts nobody expects a shell to have. The table follows the fish documentation. The notes explain the suggestion keys first, because they are why people switch.
| Shortcut | Action |
|---|---|
| Right | Accept suggestion |
| Alt + F | Accept one word |
| Up | History prefix search |
| Alt + Up | Token search |
| Ctrl + R | History pager |
| Shortcut | Action |
|---|---|
| Alt + L | List directory |
| Alt + P | Append pager |
| Alt + S | Prepend sudo |
| Alt + E | Edit in $EDITOR |
| Alt + H | Show man page |
| Alt + W | Describe command |
| Shortcut | Action |
|---|---|
| Ctrl + A | Start of line |
| Ctrl + E | End of line |
| Ctrl + U | Kill to start |
| Ctrl + K | Kill to end |
| Ctrl + W | Delete word |
| Ctrl + L | Clear screen |
| Tab | Complete |
The most essential Fish Shell shortcuts are: Right (Accept suggestion), Alt + F (Accept one word), Up (History prefix search).
The Fish Shell shortcut for accept suggestion is Right.
Print the Fish Shell cheat sheet and keep it next to your keyboard for the first week, then switch to active recall: open Shortcut Speedrun and practice Fish Shell shortcuts against the clock until they're automatic.
Yes — use My Stack to combine Fish Shell shortcuts with any other platform on this site into one printable reference, which is useful if your daily workflow spans several tools.
Most do not — the underlying key is the same, but Fish Shell (like most software) maps Ctrl on Windows/Linux to Cmd on Mac for standard operations. Where a shortcut is platform-specific, this page notes the Mac variant next to the Windows one.
As you type, fish shows the most recent matching command in grey; Right accepts all of it and Alt + F accepts one word at a time, which is how a long command is reused with a different last argument. Up searches history for commands starting with what you have typed, and Alt + Up searches by token — finding an earlier command that contained the current word anywhere — and Ctrl + R opens the history pager for browsing matches with a filter. Tab completes with descriptions drawn from man pages.
Alt + S prepends sudo to the current or last command, the fix for the "permission denied" you just saw. Alt + E opens the command line in $EDITOR for anything longer than a line, Alt + L lists the directory under the cursor (or the current one), Alt + P appends a pager, Alt + H opens the man page for the command under the cursor and Alt + W prints a one-line description of it. On macOS, Alt is Option and may need the terminal set to send Meta.
Ctrl + A and Ctrl + E jump to the ends of the line, Ctrl + U and Ctrl + K delete to the start and end, Ctrl + W deletes the previous word and Ctrl + L clears the screen — the same as bash, so muscle memory carries over. Vi mode is available with fish_vi_key_bindings, and fish_key_reader prints what fish receives for any key, which is the tool for fixing a binding that does not fire.
Open your assistant with this page preloaded as the source — great for follow-up questions like "which of these work in other apps?"