다음을 통해 공유


Set-PSReadLineKeyHandler

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

구문

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

Description

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

예제

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

이 명령은 위쪽 화살표 키를 HistorySearchBackward함수에 바인딩합니다. 이 함수는 명령줄의 현재 내용을 명령 기록을 검색하는 데 사용되는 검색 문자열로 사용합니다.

Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward

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

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

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

매개 변수

-BriefDescription

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

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Chord

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

Ctrl+X,Ctrl+L

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

형식:String[]
별칭:Key
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Description

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

형식:String
별칭:LongDescription
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Function

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

형식:String
허용되는 값:Abort, AcceptAndGetNext, AcceptLine, AddLine, BackwardChar, BackwardDeleteChar, BackwardDeleteLine, BackwardDeleteWord, BackwardKillLine, BackwardKillWord, BackwardWord, BeginningOfHistory, BeginningOfLine, CancelLine, CaptureScreen, CharacterSearch, CharacterSearchBackward, ClearHistory, ClearScreen, Complete, Copy, CopyOrCancelLine, Cut, DeleteChar, DeleteCharOrExit, DeleteEndOfWord, DeleteLine, DeleteLineToFirstChar, DeleteToEnd, DeleteWord, DigitArgument, EndOfHistory, EndOfLine, ExchangePointAndMark, ForwardChar, ForwardDeleteLine, ForwardSearchHistory, ForwardWord, GotoBrace, GotoColumn, GotoFirstNonBlankOfLine, HistorySearchBackward, HistorySearchForward, InsertLineAbove, InsertLineBelow, InvertCase, InvokePrompt, KillLine, KillRegion, KillWord, MenuComplete, MoveToEndOfLine, NextHistory, NextLine, NextWord, NextWordEnd, Paste, PasteAfter, PasteBefore, PossibleCompletions, PrependAndAccept, PreviousHistory, PreviousLine, Redo, RepeatLastCharSearch, RepeatLastCharSearchBackwards, RepeatLastCommand, RepeatSearch, RepeatSearchBackward, ReverseSearchHistory, RevertLine, ScrollDisplayDown, ScrollDisplayDownLine, ScrollDisplayToCursor, ScrollDisplayTop, ScrollDisplayUp, ScrollDisplayUpLine, SearchChar, SearchCharBackward, SearchCharBackwardWithBackoff, SearchCharWithBackoff, SearchForward, SelectAll, SelectBackwardChar, SelectBackwardsLine, SelectBackwardWord, SelectForwardChar, SelectForwardWord, SelectLine, SelectNextWord, SelectShellBackwardWord, SelectShellForwardWord, SelectShellNextWord, SelfInsert, SetMark, ShellBackwardKillWord, ShellBackwardWord, ShellForwardWord, ShellKillWord, ShellNextWord, ShowKeyBindings, SwapCharacters, TabCompleteNext, TabCompletePrevious, Undo, UndoAll, UnixWordRubout, ValidateAndAcceptLine, ViAcceptLine, ViAcceptLineOrExit, ViAppendLine, ViBackwardDeleteGlob, ViBackwardGlob, ViBackwardWord, ViCommandMode, ViDeleteBrace, ViDeleteEndOfGlob, ViDeleteGlob, ViDigitArgumentInChord, ViEditVisually, ViExit, ViGotoBrace, ViInsertAtBegining, ViInsertAtEnd, ViInsertLine, ViInsertMode, ViInsertWithAppend, ViInsertWithDelete, ViJoinLines, ViNextWord, ViSearchHistoryBackward, ViTabCompleteNext, ViTabCompletePrevious, ViYankBeginningOfLine, ViYankEndOfGlob, ViYankEndOfWord, ViYankLeft, ViYankLine, ViYankNextGlob, ViYankNextWord, ViYankPercent, ViYankPreviousGlob, ViYankPreviousWord, ViYankRight, ViYankToEndOfLine, ViYankToFirstChar, WhatIsKey, Yank, YankLastArg, YankNthArg, YankPop
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ScriptBlock

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

형식:ScriptBlock
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ViMode

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

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

  • 삽입하다
  • 명령
형식:ViMode
허용되는 값:Insert, Command
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

None

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

출력

None