通常您可以使用向上的箭头键来获取上一个命令。
但是 60% 键盘没有箭头键。没有箭头键如何导航 powershell?
答案1
将操作绑定到其他一些键。
PowerShell 使用 PSReadLine 来处理输入,其行为与 Bash 的 readline/inputrc 非常相似 - 事实上,它具有与 Bash 的 readline 几乎相同的函数绑定。
例如,如果您想要绑定CtrlP到CtrlN上一个/下一个,请将以下内容添加到您的$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(' ')
}