¿Cómo configurar combinaciones de teclas para Powershell en Arch Linux?

¿Cómo configurar combinaciones de teclas para Powershell en Arch Linux?

Vivo en Arch Linux (Manjaro) pero estoy empezando a aprender Powershell. He instalado powershell desde AUR con yay -S powershell. Sin embargo, cuando uso PowerShell ( pwsh), descubrí que las combinaciones de teclas no funcionan. Al presionar arriba/abajo no se pasa por el historial de comandos, y al presionar TABy ctrl-spaceno se activa la finalización de tabulación.

Estoy usando presteza con zsh. Sin embargo, también lo probé xterm pwshy surge el mismo problema, por lo que creo que el emulador de terminal y el shell principal sonnola causa, y que necesito configurar las combinaciones de teclas yo mismo.

¿Cómo configuro las combinaciones de teclas básicas de PowerShell?

Respuesta1

Las combinaciones de teclas de PowerShell están controladas por el PSReadLinemódulo que se envía con él. El módulo proporciona varias funciones, como coloración de sintaxis, una buena experiencia multilínea, historial y más (consulte:https://github.com/PowerShell/PSReadLine).

Lo que busca son los controladores clave:

PS> Set-PSReadLineKeyHandler -Key Tab -Function Complete

Asegúrese de consultar su documentación para obtener una descripción completa de los parámetros de configuración admitidos:

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

Puedes encontrar una configuración de ejemplo en su repositorio de git:https://github.com/PowerShell/PSReadLine/blob/master/PSReadLine/SamplePSReadLineProfile.ps1. Todas las personalizaciones de PSReadline deben agregarse a su perfil de PowerShell para conservarlas en todas las sesiones:

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

Esto es lo que normalmente tengo en mi perfil de 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 }

información relacionada