Windows 不使用箭头键重复上一个命令

Windows 不使用箭头键重复上一个命令

通常您可以使用向上的箭头键来获取上一个命令。

但是 60% 键盘没有箭头键。没有箭头键如何导航 powershell?

答案1

将操作绑定到其他一些键。

PowerShell 使用 PSReadLine 来处理输入,其行为与 Bash 的 readline/inputrc 非常相似 - 事实上,它具有与 Bash 的 readline 几乎相同的函数绑定。

例如,如果您想要绑定CtrlPCtrlN上一个/下一个,请将以下内容添加到您的$Profile脚本中:

Set-PSReadLineKeyHandler -Chord Ctrl+p -Function PreviousHistory
Set-PSReadLineKeyHandler -Chord Ctrl+n -Function NextHistory

(注意:和弦区分大小写,因此“-Chord Ctrl+P”实际上是绑定 Ctrl+Shift+P。)

或者,将这些键绑定到HistorySearchBackward/..Forward功能,其工作方式与标准向上/向下非常相似,但具有前缀过滤 - 例如,键入将跳转到以“set”开头的最后一个命令。setUp

Set-PSReadLineKeyHandler -Chord Ctrl+p -Function HistorySearchBackward

也像在 Bash 中一样,有一个内置绑定,可CtrlR ReverseSearchHistory提供完整的子字符串搜索,并且通常比向上箭头一百次更好。

最后,找出AltShift? WhatIsKey对于-Chord给定的按键您需要使用什么值。


还可以将键绑定到自定义代码(例如,对于仍在 Windows 10 上使用它的用户,此 PowerShell 5 错误修复):

# https://github.com/Microsoft/console/issues/282
Set-PSReadlineKeyHandler -Chord Shift+SpaceBar -ScriptBlock {
    [Microsoft.Powershell.PSConsoleReadLine]::Insert(' ')
}

相关内容