Arch Linux에서 Powershell에 대한 키 바인딩을 설정하는 방법은 무엇입니까?

Arch Linux에서 Powershell에 대한 키 바인딩을 설정하는 방법은 무엇입니까?

저는 Arch Linux(Manjaro)에 살고 있지만 Powershell을 배우기 시작했습니다. AUR에서 powershell을 설치했습니다 yay -S powershell. 그런데 powershell( )을 사용할 때 pwsh키 바인딩이 작동하지 않는 것을 발견했습니다. 위/아래를 눌러도 명령 기록을 거치지 않으며, 눌러도 TABctrl-space완성이 실행되지 않습니다.

저는 zsh와 함께 alacritty를 사용하고 있습니다. 그러나 나는 그것을 테스트했는데 xterm pwsh동일한 문제가 있으므로 터미널 에뮬레이터와 상위 쉘이 다음과 같다고 생각합니다.~ 아니다원인이 무엇인지, 키 바인딩을 직접 구성해야 한다는 점입니다.

기본 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 }

관련 정보