Great command line editing in the PowerShell console host

There is a newer prerelease version of this module available.
See the version list below for details.

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name PSReadLine -RequiredVersion

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name PSReadLine -Version

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More


Jason Shirk


(c) 2013. All rights reserved.

Package Details



This module has no dependencies.

Release Notes

### Version

New features:
* Multi-line editing is now practical.  Home/End go to the start/end of the current line or
 start/end of the input in a reasonable way.  Up/Down arrows will move across lines if the
 input has multiple lines and you are not in the middle of recalling history.

Bug fixes:
* Color the prompt character if there is an error for any non-alphanumeric character
* Fix an issue related to undo (which was commonly hit via Escape) and using history search
* Fix a bug where PowerShell events are not written to the console until PSReadline returns
* Fixed so PowerTab now works with PSReadline
* Highlight from history search is cleared before accepting a line now.
* Fixed MenuComplete so it clears the menu (which only happened on some systems)

New functions:
* NextLine
* PreviousLine
   - These functions are added for completeness, neither is particularly useful as the usual
     bindings for UpArrow/DownArrow are smart enough to recall history or change lines
     depending on the context.

New key bindings:
* F8/Shift+F8 bound to HistorySearchBackward/HistorySearchForward in Windows mode

### Version

Bug fixes:
* Fixed MenuComplete to actually work

### Version

New features:
* Added binding Ctrl+SpaceBar to MenuComplete in Windows and Emacs modes
 - If you want to old behavior of Ctrl+Spacebar, bind it to PossibleCompletions
* Added binding Alt+. (YankLastArg) to Windows mode
* Added diagnostics when an exception occurs to help reporting bugs

Bug fixes:
* SaveHistoryPath option fixed
* Fix ShowKeyBindings to not write blank lines
* Fixed bug with undo

### Version

New features:
* MenuComplete - like an interactive show completion
* Automatically save history
   - at process exit
   - incrementally and shared across sessions
   - don't save
 See parameters HistorySaveStyle and HistorySavePath to Set-PSReadlineOption
* Added sample custom binding for quickly changing directories in SamplePSReadlineProfile.ps1

Bug fixes:
* Items loaded from history work with RevertLine
* Recalling current line after up arrow works again

### Version

New features:
* SamplePSReadlineProfile.ps1 added with examples of custom key bindings
* Word movement takes DigitArgument
* HistoryNoDuplicates now works a little differently
   - Dupicates are saved (it was a dubious memory optimization anyway)
   - Recall will recall the most recently executed item instead of the first
* When at the last word, NextWord/ForwardWord now move to the end of line instead
 of the last character of the word.
* HistorySearchBackward/HistorySearchForward changes behavior slightly:
   - use emphasis like InteractiveHistorySearch
   - cursor always moves to end like PreviousHistory/NextHistory
* New api GetSelectionState to get the current selection (if any).
* New functions:
   - SelectBackwardsLine
   - SelectLine
   - SelectAll
   - CopyOrCancelLine
* New key bindings in Windows mode:
   - Alt+0 through Alt+9 and Alt+-: DigitArgument
   - Ctrl+R/Ctrl+S for interactive history search

Bug fixes:
* Backspace after a failed interactive history search (Ctrl+R) caused searching
 to fail if you typed anything other than backspace.

### Version

New features:
* CaptureScreen - copies selected portion of screen to clipboard in text and rtf
* InvokePrompt - re-evaluate the prompt while preserving the current input
* New functions to scroll the screen w/o using the mouse:
   - ScrollScreenUp
   - ScrollScreenDown
   - ScrollScreenTop
   - ScrollScreenToCursor
* Many small bug fixes

### Version

New features:
* CharacterSearch/CharacterSearchBackward
* AcceptAndGetNext (Ctrl+O in bash)
* Get-PSReadlineKeyHandler now returns unbound functions
* Get-PSReadlineKeyHandler has 2 new parameters: -Bound and -Unbound
* Set-PSReadlineKeyHandler parameter -LongDescription is now -Description
 (not breaking because I left an alias)
* WhatIsKey - display binding for a key
* ShowKeyBindings - show all bound keys
* Keyboard selection of text for cut/copy/delete.  New functions:
 - Cut
 - Copy
 - KillRegion
 - SelectBackwardChar
 - SelectForwardChar
 - SelectBackwardWord
 - SelectForwardWord
 - SelectNextWord
 - SelectShellForwardWord
 - SelectShellBackwardWord

Breaking change:
* The properties in the output of Get-PSReadlineKeyHandler have changed.
 This is unlikely to break anyone though.

### Version

New features:
* Delimiter support in *Word functions
* DigitArgument (Alt-0,Alt-1,Alt-2,...,Alt-9,Alt--) to pass numeric arguments
* YankLastArg/YankNthArg to extract arguments from previous command lines
* History search is now case insensitive with an option to make it case sensitive

Bugs fixed:
* Shift+Backspace works like Backspace
* Ctrl+R with long search lines no longer causes big problems

Behavior change:
* Word functions now use delimiters.  The previous behavior is availble
 via a Shell*Word function, e.g. instead of KillWord, use ShellKillWord.

### Version

New features:
* Interactive history search (Ctrl+R)
* Brace matching function added (GotoBrace)
* Clear screen (Ctrl+L)

Bugs fixed:
* When showing possible completions, truncate at newline
* Prompt before showing a large number of completions
* Undo after paste works now
* Long pause after clicking on X to close powershell is now fixed

### Version

Bugs fixed:
* Removed CLR 4.5 dependency
* Fix bug where console paste didn't display everything in some cases

### Version

New features:
* Add a "demo mode" that shows keys pressed
* Add ETW event source for demo mode, key logger, macro recorder etc.
* Undo/redo
* Get-PSReadlineOption cmdlet
* Make specifying key handlers for builtins simpler
* Current un-entered line is saved and recalled when cycling through history
* Support syntax coloring of member names

Bugs fixed:
* Speed up pasting from the console
* Fix coloring of some operators
* Fix coloring in some command arguments
* Ctrl-C is handled a little better

Breaking changes:
* CLR 4.5 is now required.
* SetBufferState is gone because it doesn't support Undo/Redo

### Version

New features:
* History imported when module is loaded
* Ctrl+End/Ctrl+Home bindings emulate cmd
* Arbitrary two key chords
* Key handlers passed the invoking key and an optional argument
* Made Ding public for custom handlers
Bugs fixed:
* Alternate keyboards now supported
* Ctrl-C now properly emulates cmd

Breaking changes:
* MinimumHistoryCommandLength parameter removed from Set-PSReadlineOption
   - Can use this instead:
       Set-PSReadlineOption -AddToHistoryHandler { $args[0].Length -gt 3 }

### Version

Initial release


Version History

Version Downloads Last updated
2.3.4 375,866 10/3/2023
2.3.3 19,566 9/18/2023
2.3.2-beta2 4,858 8/17/2023
2.3.1-beta1 13,327 5/3/2023
2.3.0-beta0 7,697 3/8/2023
2.2.6 409,127 6/27/2022
2.2.5 71,359 5/3/2022
2.2.4-beta1 1,766 4/27/2022
2.2.3 18,240 4/20/2022
2.2.2 82,440 2/22/2022
2.2.1-rc1 8,099 1/28/2022
2.2.0-beta5 10,296 1/7/2022
2.2.0-beta4 36,343 10/27/2021
2.2.0-beta3 31,072 6/1/2021
2.2.0-beta2 23,702 2/23/2021
2.2.0-beta1 27,118 11/4/2020
2.1.0 378,397 11/2/2020
2.1.0-rc1 4,404 10/13/2020
2.1.0-beta2 23,056 6/6/2020
2.1.0-beta1 11,926 4/7/2020
2.0.4 23,629 8/5/2020
2.0.3 5,112 7/22/2020
2.0.2 28,514 6/5/2020
2.0.1 75,226 4/1/2020
2.0.0 23,323 2/11/2020
2.0.0-rc2 5,921 1/14/2020
2.0.0-rc1 7,035 12/11/2019
2.0.0-beta6 4,644 11/14/2019
2.0.0-beta5 13,040 9/13/2019
2.0.0-beta4 14,732 5/7/2019
2.0.0-beta3 30,740 9/4/2018
2.0.0-beta2 7,518 6/4/2018
2.0.0-beta1 2,270 12/6/2017
1.2 114,157 1/25/2016 12,576 2/18/2015 (current version) 990 8/26/2014 403 6/13/2014 290 6/13/2014 292 6/11/2014 444 5/7/2014
Show less