powershell配置(2)-psreadline历史记录和提示

1. 安装 psreadline

ref: https://github.com/PowerShell/PSReadLine

1.1 从 PowerShellGallery 中安装。

依次安装PowerShellGet, PSReadLine

1
2
Install-Module -Name PowerShellGet -Force
Install-Module PSReadLine

安装完就有历史纪录了,关闭后可以保存历史记录。

1.2 查看已安装的模块

1
Get-InstalledModule

2. 智能提示

2.1 将PSReadLine 升级至V2.1(测试版)

安装完之后没有智能提示,按tab键跳出来的命令都很奇怪。(我安的是稳定版,V2.0.2)

发现测试版就加入了类似 fish 的智能提示,版本是V2.1.0-beta2。

ref: https://github.com/PowerShell/PSReadLine/pull/1496

更新一下PSReadLine,用命令行窗口升级:

1
2
# cmd
powershell -noprofile -command "Install-Module PSReadLine -Force -SkipPublisherCheck -AllowPrerelease"

或:

1
Update-Module PSReadLine -Force

然后将 PredictionSourceSource 设为 History

1
2
# powershell
Set-PSReadLineOption -PredictionSource History # 默认是 None

2.2 查看 PSReadLine 的设置

1
Get-PSReadLineOption

2.3 修改配置文件

但是似乎窗口关闭后,就失效了。

需要把设置这一行加到配置文件里就好了,新建、修改配置文件,运行:

1
2
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
code $PROFILE

就能打开配置文件。

在配置里加入这一句。

1
Set-PSReadLineOption -PredictionSource History  # 默认是 None

Done!