接受部分自动补全

Accept part of the autocompletion

我最近给自己买了一台新的 Windows 11 笔记本电脑,并开始探索 powershell。以前从未在 Windows 上使用过它,但我是 Mac 中 zsh 的常客,所以不是全新的。

我将 Powershell 升级到 7.2.1,但发现我习惯使用 Oh My Zsh 的自动建议类型功能丢失了。经过一番搜索后,我安装了 PSReadLine,并使用以下设置我的配置文件:

Import-Module PSReadLine

Set-PSReadLineOption -PredictionSource History

Set-PSReadLineOption -HistorySearchCursorMovesToEnd
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward

Set-PSReadLineKeyHandler -Key Tab -Function Complete

这比以前好多了,但我注意到我不能部分接受自动完成。

例如,这是我历史的一部分:

New-item –type file –force $profile

如果我现在尝试创建一个文件 test-file,然后开始输入 New-Item,我会得到建议。我想接受到 -force 结束,或者可能到 file。这没有发生,无论我尝试什么组合键(尝试 Ctrl+, Shift+, Alt+, Fn+ 白费了).

当然,我可以接受完整的建议,删除我不需要的。虽然对于这个例子来说这真的无关紧要,但对于只在初始部分出现匹配的长命令来说会很烦人。所以,我的问题是什么是部分接受建议的组合,或者如果需要单独启用,我该怎么做?

来自 about_PSReadLine 文档

AcceptNextWordSuggestion
Accepts the next word of the inline suggestion from Predictive IntelliSense. This function can be bound with Ctrl+F by running the following command.

Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord