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
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
按鍵系結的簡短描述。 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
此參數接受字串數位。 每個字串都是個別的系結,而不是單一系結的索引鍵序列。
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 |
Accepted values: | 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 |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptBlock
指定要在輸入 chord 時執行的腳本區塊值。 PSReadLine 會將一或兩個參數傳遞至此腳本區塊。 第一個參數是 ConsoleKeyInfo 物件,代表按下的按鍵。 第二個自變數可以是視內容而定的任何物件。
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ViMode
指定系結所套用的vi模式。
有效值為:
- 插入
- 命令
Type: | ViMode |
Accepted values: | Insert, Command |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
None
您無法使用管線將物件傳送至此 Cmdlet。
輸出
None