关于Windows Terminal中PowerShell Core历史搜索功能的名称与全局启用方法咨询
Windows Terminal中PowerShell Core历史搜索功能的名称与全局启用方法
嘿,你说的这个能实时匹配并显示历史命令的实用功能我太熟啦!它其实是PowerShell Core内置的PSReadLine模块提供的,分两种对应场景的称呼:
- 如果你是不小心按到快捷键(比如
Ctrl+R)后,输入关键词就能实时过滤历史命令,那它叫增量历史搜索(Incremental History Search),反向搜索(从最近历史往前找)用Ctrl+R,正向搜索(从最早历史往后找)用Ctrl+S; - 要是你输入命令时,它自动弹出匹配的历史列表,那就是预测IntelliSense(Predictive IntelliSense),是更直观的主动提示模式。
不管是哪一种,要让它在所有Windows Terminal的PowerShell窗口里永久生效,只要修改PowerShell的配置文件就行,步骤超简单:
打开PowerShell配置文件:
在PowerShell里输入命令notepad $PROFILE,如果系统提示文件不存在,就先输入New-Item -Path $PROFILE -ItemType File -Force创建一个。根据你需要的功能添加配置:
- 要是想启用自动弹出历史匹配列表(预测IntelliSense),就把这两行粘贴进去:
第一行指定用本地命令历史作为预测来源,第二行设置匹配结果以列表形式显示在光标下方。Set-PSReadLineOption -PredictionSource History Set-PSReadLineOption -PredictionViewStyle ListView - 要是想确保快捷键触发的增量历史搜索每次都能用(其实默认就支持,但可以手动绑定确认),就添加这两行:
Set-PSReadLineKeyHandler -Key Ctrl+R -Function ReverseSearchHistory Set-PSReadLineKeyHandler -Key Ctrl+S -Function ForwardSearchHistory
- 要是想启用自动弹出历史匹配列表(预测IntelliSense),就把这两行粘贴进去:
保存配置文件,重启Windows Terminal的PowerShell窗口,以后每次打开新终端,这个功能就自动生效啦!
备注:内容来源于stack exchange,提问作者Tim




