Ich arbeite mit Arch Linux (Manjaro), aber ich fange gerade an, Powershell zu lernen. Ich habe Powershell mit aus dem AUR installiert yay -S powershell
. Bei der Verwendung von Powershell ( pwsh
) habe ich jedoch festgestellt, dass die Tastenkombinationen nicht funktionieren. Durch Drücken von Auf/Ab wird der Befehlsverlauf nicht durchsucht, und durch Drücken von TAB
und ctrl-space
wird keine Tab-Vervollständigung ausgelöst.
Ich verwende alacritty mit zsh. Ich habe es jedoch auch mit getestet xterm pwsh
und das gleiche Problem besteht, daher glaube ich, dass der Terminalemulator und die übergeordnete Shellnichtdie Ursache und dass ich die Tastenkombinationen selbst konfigurieren muss.
Wie konfiguriere ich die grundlegenden Powershell-Tastenkombinationen?
Antwort1
PowerShell-Tastenkombinationen werden über das PSReadLine
mitgelieferte Modul gesteuert. Das Modul bietet verschiedene Funktionen wie Syntaxhervorhebung, eine gute Mehrzeilenerfahrung, Verlauf und mehr (siehe:https://github.com/PowerShell/PSReadLine).
Was Sie suchen, sind die Schlüsselhandler:
PS> Set-PSReadLineKeyHandler -Key Tab -Function Complete
Eine vollständige Übersicht über die unterstützten Konfigurationsparameter finden Sie in der Dokumentation:
PS> help about_PSReadLine
# Or list the key current handlers and options:
PS> Get-PSReadLineKeyHandler
PS> Get-PSReadLineOption
Eine Beispielkonfiguration finden Sie in ihrem Git-Repository:https://github.com/PowerShell/PSReadLine/blob/master/PSReadLine/SamplePSReadLineProfile.ps1. Alle PSReadline-Anpassungen müssen zu Ihrem PowerShell-Profil hinzugefügt werden, damit sie über mehrere Sitzungen hinweg erhalten bleiben:
PS> echo $PROFILE
/Users/megamorf/.config/powershell/Microsoft.PowerShell_profile.ps1
Folgendes befindet sich normalerweise in meinem PowerShell-Profil:
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 }