Set-PSReadLineKeyHandler

사용자 정의 또는 PSReadLine 키 처리기 함수에 키를 바인딩합니다.

Syntax

Set-PSReadLineKeyHandler
   [-ScriptBlock] <ScriptBlock>
   [-BriefDescription <String>]
   [-Description <String>]
   [-Chord] <String[]>
   [-ViMode <ViMode>]
   [<CommonParameters>]
Set-PSReadLineKeyHandler
   [-Chord] <String[]>
   [-ViMode <ViMode>]
   [-Function] <String>
   [<CommonParameters>]

Description

cmdlet은 Set-PSReadLineKeyHandler 키 또는 키 시퀀스를 누를 때 결과를 사용자 지정합니다. 사용자 정의 키 바인딩을 사용하면 PowerShell 스크립트 내에서 가능한 거의 모든 작업을 수행할 수 있습니다.

예제

예제 1: 화살표 키를 함수에 바인딩

이 명령은 위쪽 화살표 키를 HistorySearchBackward 함수에 바인딩합니다. 이 함수는 명령줄의 현재 내용으로 시작하는 명령줄에 대한 명령 기록을 검색합니다.

Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward

예제 2: 스크립트 블록에 키 바인딩

이 예제에서는 단일 키를 사용하여 명령을 실행하는 방법을 보여줍니다. 이 명령은 줄을 지우고 "build"라는 단어를 삽입한 다음 줄을 수락하는 스크립트 블록에 키를 Ctrl+b 바인딩합니다.

Set-PSReadLineKeyHandler -Chord Ctrl+b -ScriptBlock {
    [Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
    [Microsoft.PowerShell.PSConsoleReadLine]::Insert('build')
    [Microsoft.PowerShell.PSConsoleReadLine]::AcceptLine()
}

매개 변수

-BriefDescription

키 바인딩에 대한 간략한 설명입니다. 이 설명은 cmdlet에 Get-PSReadLineKeyHandler 의해 표시됩니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Chord

함수 또는 스크립트 블록에 바인딩할 키 또는 키 시퀀스입니다. 단일 문자열을 사용하여 단일 바인딩을 지정합니다. 바인딩이 키 시퀀스인 경우 키를 쉼표로 구분합니다. 예: Ctrl+x,Ctrl+l

문자 키 참조는 소문자를 사용하여 정의됩니다. 대문자를 사용하는 코드를 정의하려면 코드에 Shift 키가 포함되어야 합니다. 예를 들어 다른 Ctrl+Shift+xCtrl+x 바인딩을 만듭니다.

이 매개 변수는 문자열 배열을 허용합니다. 각 문자열은 단일 바인딩에 대한 키 시퀀스가 아니라 별도의 바인딩입니다.

Type:String[]
Aliases:Key
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Description

cmdlet의 출력 Get-PSReadLineKeyHandler 에 표시되는 키 바인딩에 대한 자세한 설명을 지정합니다.

Type:String
Aliases:LongDescription
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Function

PSReadLine에서 제공하는 기존 키 처리기의 이름을 지정합니다. 이 매개 변수를 사용하면 기존 키 바인딩을 다시 바인딩하거나 현재 바인딩되지 않은 처리기를 바인딩할 수 있습니다.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ScriptBlock

코드가 입력될 때 실행할 스크립트 블록 값을 지정합니다. PSReadLine은 이 스크립트 블록에 하나 또는 두 개의 매개 변수를 전달합니다. 첫 번째 매개 변수는 누른 키를 나타내는 ConsoleKeyInfo 개체입니다. 두 번째 인수는 컨텍스트에 따라 모든 개체가 될 수 있습니다.

Type:ScriptBlock
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ViMode

바인딩이 적용되는 vi 모드를 지정합니다.

유효한 값은 다음과 같습니다.

  • Insert
  • Command
Type:ViMode
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

None

개체를 이 cmdlet으로 파이프할 수 없습니다.

출력

None

이 cmdlet은 출력을 반환하지 않습니다.