如何在 Arch Linux 上為 Powershell 設定鍵綁定?

如何在 Arch Linux 上為 Powershell 設定鍵綁定?

我住在 Arch Linux (Manjaro) 上,但我開始學習 Powershell。我已經從 AUR 安裝了 powershell,帶有yay -S powershell.但是,當使用 powershell ( pwsh) 時,我發現按鍵綁定不起作用。按向上/向下不會瀏覽命令歷史記錄,按TABctrl-space不會觸發製表符完成。

我將 alacritty 與 zsh 一起使用。但是,我也對其進行了測試,xterm pwsh並且存在同樣的問題,所以我相信終端模擬器和父 shell 是不是原因,我需要自己配置按鍵綁定。

如何配置基本的 powershell 鍵綁定?

答案1

PSReadLinePowerShell 鍵綁定由隨附的模組控制。此模組提供了各種功能,例如語法著色、良好的多行體驗、歷史記錄等等(請參閱:https://github.com/PowerShell/PSReadLine)。

您正在尋找的是關鍵處理程序:

PS> Set-PSReadLineKeyHandler -Key Tab -Function Complete

請務必檢查他們的文檔以獲取支援的配置參數的完整概述:

PS> help about_PSReadLine
# Or list the key current handlers and options:
PS> Get-PSReadLineKeyHandler
PS> Get-PSReadLineOption

您可以在他們的 git 儲存庫中找到範例配置:https://github.com/PowerShell/PSReadLine/blob/master/PSReadLine/SamplePSReadLineProfile.ps1。所有 PSReadline 自訂都需要新增到您的 PowerShell 設定檔中,以便跨會話保留它們:

PS> echo $PROFILE
/Users/megamorf/.config/powershell/Microsoft.PowerShell_profile.ps1

以下是我的 PowerShell 設定檔中通常包含的內容:

Set-PSReadLineOption -EditMode Emacs -BellStyle None
Set-PSReadLineOption -HistorySearchCursorMovesToEnd

Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward

Set-PSReadlineKeyHandler -Key Ctrl+Shift+P `
    -BriefDescription CopyPathToClipboard `
    -LongDescription "Copies the current path to the clipboard" `
    -ScriptBlock { (Resolve-Path -LiteralPath $pwd).ProviderPath.Trim() | Set-Clipboard }

相關內容