Share via


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>]

説明

コマンドレットは Set-PSReadLineKeyHandler 、キーまたはキーのシーケンスが押されたときに結果をカスタマイズします。 ユーザー定義のキー バインドを使用すると、PowerShell スクリプト内から可能なほぼすべての操作を実行できます。

例 1: 方向キーを関数にバインドする

このコマンドは、上方向キーを HistorySearchBackward 関数にバインドします。 この関数は、コマンド ラインの現在の内容で始まるコマンド ラインのコマンド 履歴を検索します。

Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward

例 2: スクリプト ブロックにキーをバインドする

この例では、1 つのキーを使用してコマンドを実行する方法を示します。 このコマンドは、行をクリアし、"build" という単語を挿入して行を受け入れるスクリプト ブロックにキー Ctrl+b をバインドします。

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

パラメーター

-BriefDescription

キー バインドの簡単な説明。 この説明はコマンドレットによって Get-PSReadLineKeyHandler 表示されます。

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

-Chord

関数またはスクリプト ブロックにバインドされるキーまたはキーのシーケンス。 1 つのバインドを指定するには、1 つの文字列を使用します。 バインドがキーのシーケンスである場合は、キーをコンマで区切ります。 例: Ctrl+x,Ctrl+l

文字キー参照は、小文字を使用して定義されます。 大文字を使用するコードを定義する場合は、コードに Shift キーを含める必要があります。 たとえば、 Ctrl+Shift+xCtrl+x さまざまなバインディングを作成します。

このパラメーターは、文字列の配列を受け入れます。 各文字列は個別のバインドであり、1 つのバインドのキーのシーケンスではありません。

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

-Description

コマンドレットの出力に表示されるキー バインドの詳細な説明を 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 は、このスクリプト ブロックに 1 つまたは 2 つのパラメーターを渡します。 最初のパラメーターは、 押されたキーを表す ConsoleKeyInfo オブジェクトです。 2 番目の引数には、コンテキストに応じて任意のオブジェクトを指定できます。

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

このコマンドレットにオブジェクトをパイプすることはできません。

出力

None

このコマンドレットは、出力を返しません。