What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Most interactive keyboard shortcuts in Windows PowerShell come from PSReadLine, the command-line editor—not from the PowerShell language itself. In the default Windows editing mode, you can use shortcuts to recall and search history, edit commands, enter multiline input, display help, and inspect or customize key bindings.
This guide covers Windows PowerShell 5.1 and PowerShell 7.x, explains how shortcuts differ from command aliases such as dir and cd, and shows how to repair bindings when a profile or terminal host interferes.
First, check whether PSReadLine is active
Run these commands in an interactive PowerShell console:
$PSVersionTable
Get-Module PSReadLine
Get-PSReadLineOption
$PSVersionTable.PSVersion identifies the PowerShell engine. Get-Module PSReadLine shows the version currently loaded, while Get-Module PSReadLine -ListAvailable lists installed versions that could be loaded.
#1 Best Overall
- KEYBOARD: The keyboard works for Windows with hot keys that enable easy access to Media, My Computer, Mute, Volume up/down, and Calculator
- EASY SETUP: Experience simple installation with the USB wired connection
- VERSATILE COMPATIBILITY: This keyboard is designed to work with multiple Windows versions, including Vista, 7, 8, 10 offering broad compatibility across devices.
- SLEEK DESIGN: The elegant black color of the wired keyboard complements your tech and decor, adding a stylish and cohesive look to any setup without sacrificing function.
- FULL-SIZED CONVENIENCE: The standard QWERTY layout of this keyboard set offers a familiar typing experience, ideal for both professional tasks and personal use.
Get-Module PSReadLine -ListAvailable
If Get-PSReadLineOption is not recognized, PSReadLine is not currently available in that session. You can try:
Import-Module PSReadLine
PSReadLine supplies interactive cursor movement, editing, history navigation, syntax coloring, multiline editing, predictive suggestions, dynamic parameter help, and custom key bindings. It works with Windows PowerShell 5.1 and newer PowerShell versions, but it does not work in the Windows PowerShell ISE, which has its own editor.
Versions differ by PowerShell edition and installation. Microsoft’s release notes consulted on August 18, 2026 list PSReadLine 2.4.5 as the current stable release, but that does not mean every installation has it. Windows PowerShell 5.1 ships with PSReadLine 2.0.0, while later PowerShell releases bundle newer versions. Check your own installation rather than assuming the bundled version.
Free tools Windows power users keep installed
One-click scans. No signup required.
Microsoft’s PSReadLine documentation and its release notes document these differences.
The most useful Windows-mode shortcuts
The following table describes common bindings in PSReadLine’s Windows editing mode. A different editing mode, terminal host, keyboard layout, or PSReadLine version can change the result.
| Shortcut | PSReadLine function | What it does |
|---|---|---|
| Up Arrow | PreviousHistory |
Recalls the previous command. |
| Down Arrow | NextHistory |
Moves forward through recalled commands. |
| Ctrl + R | ReverseSearchHistory |
Searches backward through command history. |
| Enter | AcceptLine |
Executes the current input. |
| Shift + Enter | AddLine |
Adds a continuation line without executing. |
| Backspace | BackwardDeleteChar |
Deletes the character before the cursor. |
| Ctrl + Home | BackwardDeleteInput |
Deletes input from the cursor back to the beginning. |
| Ctrl + L | ClearScreen |
Clears and redraws the console. |
| F1 | Version- and binding-dependent | May invoke prompt or parameter help; verify the active binding. |
| Alt + H | ShowParameterHelp |
Shows dynamic help for a fully expanded parameter. |
| Alt + ? | WhatIsKey |
Waits for another key and reports its binding. |
| Ctrl + Alt + ? | ShowKeyBindings |
Displays the current key bindings. |
These are PSReadLine bindings, not universal Windows keyboard shortcuts. Windows Terminal, the legacy console host, VS Code, remote sessions, accessibility software, or a keyboard layout may intercept a key before PowerShell receives it.
Editing commands and entering multiline input
Use Shift + Enter when you want to add another line to the same input without executing the current line. PowerShell normally displays a continuation prompt, commonly >>.
Get-Process |
Where-Object {
$_.CPU -gt 100
}
Press Enter after the complete command is ready. The input is then submitted as one command.
Rank #2
- Reliable Plug and Play: The USB receiver provides a reliable wireless connection up to 33 ft (1), so you can forget about drop-outs and delays and you can take it wherever you use your computer
- Type in Comfort: The design of this keyboard creates a comfortable typing experience thanks to the low-profile, quiet keys and standard layout with full-size F-keys, number pad, and arrow keys
- Durable and Resilient: This full-size wireless keyboard features a spill-resistant design (2), durable keys and sturdy tilt legs with adjustable height
- Long Battery Life: MK270 combo features a 36-month keyboard and 12-month mouse battery life (3), along with on/off switches allowing you to go months without the hassle of changing batteries
- Easy to Use: This wireless keyboard and mouse combo features 8 multimedia hotkeys for instant access to the Internet, email, play/pause, and volume so you can easily check out your favorite sites
This differs from PowerShell’s automatic continuation behavior. If you press Enter after an unfinished pipe, an open brace, parenthesis, bracket, or quote, PowerShell can automatically show the continuation prompt because the syntax is incomplete. Shift + Enter is useful when the current line is syntactically complete but you want to continue editing it as one input item.
Search and reuse command history
Browse with the arrow keys
Up Arrow recalls earlier commands. Press it repeatedly to move backward through history; Down Arrow moves forward again. This is convenient for repeating a recent administrative query or correcting a long command.
Search with Ctrl+R
Press Ctrl + R to start reverse history search. Type a distinctive part of an older command, then press Ctrl + R again to move through additional matches.
Recommended Free Tools
History search is particularly useful for commands containing long filters, quoting, paths, or remote-session parameters. However, a recalled command is not automatically safe. Review commands before executing them, especially those containing:
Remove-Itemor other destructive operations.Stop-Process.- Registry modifications.
- Permission changes.
- Remote sessions or computer names.
- Credentials, tokens, or other sensitive values.
- Pipelines ending in a command that changes or deletes data.
Find out what a key does
The fastest interactive method is Alt + ?. When PSReadLine prompts you, press the key combination you want to inspect.
To display all current bindings, press Ctrl + Alt + ?, or run:
Get-PSReadLineKeyHandler
The cmdlet is more reliable than memorizing a chart because it reflects your current mode and customizations. You can also inspect the mode directly:
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →(Get-PSReadLineOption).EditMode
For a particular key, use:
Get-PSReadLineKeyHandler -Key F1
This check is important for F1. Microsoft documentation describes different F1-related behavior in different PSReadLine help contexts, including prompt invocation and parameter help. Treat it as version- or configuration-sensitive and verify the binding in your session.
Rank #3
- All-day Comfort: The design of this standard keyboard creates a comfortable typing experience thanks to the deep-profile keys and full-size standard layout with F-keys and number pad
- Easy to Set-up and Use: Set-up couldn't be easier, you simply plug in this corded keyboard via USB on your desktop or laptop and start using right away without any software installation
- Compatibility: This full-size keyboard is compatible with Windows 7, 8, 10 or later, plus it's a reliable and durable partner for your desk at home, or at work
- Spill-proof: This durable keyboard features a spill-resistant design (1), anti-fade keys and sturdy tilt legs with adjustable height, meaning this keyboard is built to last
- Plastic parts in K120 include 51% certified post-consumer recycled plastic*
Windows, Emacs, and Vi editing modes
PSReadLine supports three editing modes:
Set-PSReadLineOption -EditMode Windows
Set-PSReadLineOption -EditMode Emacs
Set-PSReadLineOption -EditMode Vi
Windows mode is the natural choice for readers accustomed to Windows console behavior. Emacs mode is familiar to users of Bash, Readline, and many Unix shells. Vi mode provides modal editing with separate insert and command modes.
The same physical key can perform a different function in each mode. The shortcut table above applies to Windows mode and should not be used as a Vi-mode reference. On Windows, Windows-style editing is normally the default; non-Windows platforms commonly default to Emacs mode.
For the documented default mappings, see about_Line_Editing and about_PSReadLine_Functions.
Create a custom keyboard shortcut
Use Set-PSReadLineKeyHandler to connect a key to a built-in PSReadLine function. For example, this assigns Ctrl + Alt + H to reverse history search:
Set-PSReadLineKeyHandler `
-Key Ctrl+Alt+h `
-Function ReverseSearchHistory
You can make the Up Arrow search for history entries that begin with the text already typed:
Set-PSReadLineKeyHandler `
-Key UpArrow `
-Function HistorySearchBackward
Use -Function for a built-in PSReadLine function. Use -ScriptBlock when you need custom behavior. This example inserts a frequently used command name:
Set-PSReadLineKeyHandler `
-Key Ctrl+Alt+j `
-ScriptBlock {
[Microsoft.PowerShell.PSConsoleReadLine]::Insert(
"Get-ChildItem "
)
}
Choose combinations that are not already claimed by your terminal, editor, accessibility software, Remote Desktop, or virtualization software.
Make a binding persistent with your profile
A binding entered at the prompt normally affects only the current session. To load it when a particular PowerShell profile runs, first inspect the active profile path:
Rank #4
- Fluid Typing Experience: Laptop-like profile with spherically-dished keys shaped for your fingertips delivers a fast, fluid, precise and quieter typing experience
- Automate Repetitive Tasks: Easily create and share time-saving Smart Actions shortcuts to perform multiple actions with a single keystroke with the Logi Options+ app (1)
- Smarter Illumination: Backlit keyboard keys light up as your hands approach and adapt to the environment; Now with more lighting customizations on Logi Options+ (1)
- More Comfort, Deeper Focus: Work for longer with a solid build, low-profile design and an optimum keyboard angle that is better for your wrist posture
- Multi-Device, Multi OS Bluetooth Keyboard: Pair with up to 3 devices on nearly any operating system (Windows, macOS, Linux) via Bluetooth Low Energy or included Logi Bolt USB receiver (2)
$PROFILE
Profile paths vary by PowerShell edition and host, so do not blindly copy another user’s path. Create the file if necessary and open it in Notepad:
if (-not (Test-Path $PROFILE)) {
New-Item -ItemType File -Path $PROFILE -Force
}
notepad $PROFILE
Add a guarded configuration such as:
if (Get-Module -ListAvailable -Name PSReadLine) {
Import-Module PSReadLine
Set-PSReadLineKeyHandler `
-Key Ctrl+Alt+h `
-Function ReverseSearchHistory
}
Profiles are startup scripts. A change persists only for the relevant profile and host context; Windows PowerShell 5.1, PowerShell 7, Windows Terminal, VS Code, and other hosts may use different profile locations or startup behavior.
Remove or repair a custom binding
Remove a custom binding with:
Remove-PSReadLineKeyHandler -Key Ctrl+Alt+h
Or assign the key explicitly to the function you want:
Set-PSReadLineKeyHandler `
-Key Ctrl+Alt+h `
-Function ReverseSearchHistory
If a profile is broken, start a clean session without loading it:
pwsh -NoProfile
For Windows PowerShell 5.1, use:
powershell.exe -NoProfile
Then inspect the profile:
$PROFILE
Get-Content $PROFILE
Correct or remove the failing line before starting a normal session again. pwsh is the executable for modern PowerShell; powershell.exe launches Windows PowerShell 5.1.
Keyboard shortcuts are not aliases
PowerShell has another kind of shortcut: a command alias. Aliases shorten command names, but they do not intercept key presses.
Get-Alias dir
Get-Alias ls
Get-Alias cd
Common results include:
dirandlsmap toGet-ChildItem.cdmaps toSet-Location.
You can create a temporary alias:
Set-Alias ll Get-ChildItem
An alias can refer to a cmdlet, function, script, or executable, but it cannot directly include parameters. If you need a reusable command with parameters, use a function:
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchfunction Get-SystemEventLog {
Get-WinEvent -LogName System
}
Set-Alias syslog Get-SystemEventLog
Aliases are convenient at an interactive prompt but can make scripts less readable and portable. Prefer full cmdlet names in shared scripts, and use functions when validation, parameters, or self-documenting behavior is needed. See about_Aliases for the documented rules.
Best Value
- All-day Comfort: This USB keyboard creates a comfortable and familiar typing experience thanks to the deep-profile keys and standard full-size layout with all F-keys, number pad and arrow keys
- Built to Last: The spill-proof (2) design and durable print characters keep you on track for years to come despite any on-the-job mishaps; it’s a reliable partner for your desk at home, or at work
- Long-lasting Battery Life: A 24-month battery life (4) means you can go for 2 years without the hassle of changing batteries of your wireless full-size keyboard
- Simply plug the USB receiver into a USB port on your desktop, laptop or netbook computer and start using the keyboard right away without any software installation
- Simply Wireless: Forget about drop-outs and delays thanks to a strong, reliable wireless connection with up to 33 ft range (5); K270 is compatible with Windows 7, 8, 10 or later
Install or update PSReadLine
Inspect available versions first:
Get-Module PSReadLine -ListAvailable
If the module is missing or you need a newer version, Microsoft documents this installation approach:
Install-Module -Name PSReadLine -AllowClobber -Force
Restart PowerShell and verify the loaded version:
Get-Module PSReadLine
Installation may require a functioning PowerShellGet and package-management setup. Enterprise policies can block access to the PowerShell Gallery. Windows PowerShell 5.1 and PowerShell 7.x may load different module versions, and updating PSReadLine can change interactive behavior. Test updates before distributing a profile change across managed systems.
Troubleshoot shortcuts that do not work
PSReadLine is missing or unloaded
Symptoms include an unrecognized Get-PSReadLineOption command, missing syntax coloring, and Ctrl + R not performing reverse search. Try:
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteImport-Module PSReadLine
Get-Module PSReadLine -ListAvailable
If no module is available, consider installation after checking your organization’s package-management policies.
You are using the Windows PowerShell ISE
PSReadLine does not work in the ISE. Its editor has different shortcuts, so importing PSReadLine is not the fix. Use an interactive console, Windows Terminal, or another supported terminal host if you need PSReadLine bindings.
The terminal intercepted the key
Windows Terminal and VS Code have their own key assignments. Remote Desktop, virtualization software, accessibility tools, and keyboard layouts can also intercept combinations. Check the binding with Get-PSReadLineKeyHandler, use Alt + ?, test with -NoProfile, and then inspect the host’s keybindings. If necessary, choose a simpler unused combination.
A screen reader changes startup behavior
Microsoft has documented cases where PowerShell 7 skips automatic PSReadLine loading when a screen reader is detected because of compatibility limitations in relevant versions. Later PSReadLine releases include screen-reader-related changes, so do not treat older behavior as universal. Check the installed PowerShell and PSReadLine versions and test the current configuration.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Quick reference
| Task | Shortcut or command |
|---|---|
| Recall an earlier command | Up Arrow |
| Search backward through history | Ctrl + R |
| Add a multiline continuation | Shift + Enter |
| Clear and redraw the screen | Ctrl + L |
| Show parameter help | Alt + H |
| Discover a key’s binding | Alt + ?, then press the key |
| Show all current bindings | Ctrl + Alt + ? or Get-PSReadLineKeyHandler |
| Check the editing mode | (Get-PSReadLineOption).EditMode |
| Set Windows mode | Set-PSReadLineOption -EditMode Windows |
| Customize a binding | Set-PSReadLineKeyHandler |
| Start without a profile | pwsh -NoProfile or powershell.exe -NoProfile |
The most useful starting point is simple: confirm that PSReadLine is loaded, check the active editing mode, and use Get-PSReadLineKeyHandler whenever a shortcut behaves differently from the expected Windows-mode default.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

