PowerShell Keyboard Shortcuts

Complete PowerShell keyboard shortcuts reference — 33 shortcuts across 5 categories. Quick reference cheat sheet for Windows.

Line Editing (10)

ShortcutAction
Shift + EnterAdd Line
Ctrl + LeftWord Left
Ctrl + RightWord Right
HomeLine Start
EndLine End
Ctrl + HomeDelete to Start
Ctrl + EndDelete to End
Ctrl + BackspaceDelete Word Back
Ctrl + DeleteDelete Word Forward
InsertOverstrike Mode

Completion (3)

ShortcutAction
TabComplete
Shift + TabComplete Backward
Ctrl + SpaceMenu Complete

History (7)

ShortcutAction
UpPrevious Command
DownNext Command
Ctrl + RReverse History Search
Ctrl + SForward History Search
F8History Search Backward
Shift + F8History Search Forward
Alt + .Yank Last Argument

Editing & Clipboard (8)

ShortcutAction
Ctrl + CCopy or Cancel
Ctrl + XCut
Ctrl + VPaste
Ctrl + ZUndo
Ctrl + YRedo
Ctrl + ASelect All
EscRevert Line
Ctrl + LClear Screen

Advanced (5)

ShortcutAction
Alt + ASelect Command Argument
Ctrl + ]Go to Brace
Alt + 0Digit Argument
F2Switch Prediction View
Alt + ?What Is Key
📄 View Printable Cheat Sheet — Download as PDF or print · 🧩 Combine with other tools

Related Shortcut Pages

Bash / Shell Windows VS Code Visual Studio Linux Git

Search 13,500+ shortcuts across 269 platforms

Explore All Platforms Practice Shortcuts
📜 Every shortcut on this page is taken from the official PowerShell documentation — learn.microsoft.com
🔧 Spotted an error or a missing shortcut? Suggest an edit on GitHub — every accepted fix goes live on this page, the API and the CLI.

PSReadLine is doing the work

Almost everything on this page is provided by PSReadLine, the line-editing module that ships with Windows PowerShell 5.1 and PowerShell 7. Because the bindings live in the module rather than in the console window, they behave the same whether you run PowerShell in Windows Terminal, the legacy console host, or the VS Code integrated terminal.

The history keys are where PSReadLine earns its keep. Ctrl + R opens an interactive reverse search that narrows as you type — the same muscle memory as Bash. F8 is the quieter alternative: type the first few characters of a command, then press it repeatedly to walk back through every history entry with that prefix. And Alt + . pulls the last argument of the previous command into the current line, which turns two-step sequences like mkdir then cd into a single keystroke.

Completion has two gears. Tab cycles through candidates one at a time, while Ctrl + Space opens a menu you can steer with the arrow keys — far better when a cmdlet has thirty parameters. Once a long command is on the line, Alt + A jumps selection from argument to argument so you can swap values without arrowing through the whole string, and Alt + 0 through Alt + 9 repeat the next keystroke that many times.

Making it yours

Run Get-PSReadLineKeyHandler to list every active binding, or press Alt + ? followed by any chord to ask what that key does. If your muscle memory comes from Bash or Vim, Set-PSReadLineOption -EditMode Emacs (or Vi) swaps the whole keymap in one line — add it to your $PROFILE to make it permanent. The prediction view toggle on F2 requires PSReadLine 2.1 or newer; PowerShell 7 includes it, while stock Windows PowerShell 5.1 may need Install-Module PSReadLine to catch up.

Frequently asked questions

Why do some of these shortcuts not work in my terminal?

Two usual causes. Stock Windows PowerShell 5.1 ships an older PSReadLine, so newer functions like the F2 prediction toggle are missing until you update the module. And host applications can intercept chords before PSReadLine sees them — the VS Code terminal, for example, claims several Ctrl combinations for its own keybindings unless you configure it to pass them through.

What is the difference between Ctrl + R and F8?

Ctrl + R is an interactive search: a prompt appears and the match updates as you type, searching anywhere in the command. F8 is prefix-based recall: it uses whatever is already on your line as the starting text and steps backward through matching history entries, with Shift + F8 stepping forward again.

How do I see every key binding at once?

Run Get-PSReadLineKeyHandler for the full table of bound and unbound functions. For a single key, press Alt + ? and then the chord you are curious about — PSReadLine reports which function it maps to without executing anything.

Can I make PowerShell behave like Bash?

Yes — Set-PSReadLineOption -EditMode Emacs enables the readline-style keymap that Bash users expect, and -EditMode Vi does the same for modal editing. Put the line in your $PROFILE so every new session starts with it.

What does the >> prompt mean after Shift + Enter?

Shift + Enter starts a new line without running the command, and PowerShell shows >> as a continuation prompt for each additional line. While editing multi-line input, pressing Home or End twice jumps to the very first or very last line of the whole block.

🤖 Ask AI about PowerShell shortcuts

Open your assistant with this page preloaded as the source — great for follow-up questions like "which of these work in other apps?"

ChatGPT Claude Perplexity Gemini Grok