Поделиться через


Set-PSReadLineKeyHandler

Привязывает ключи к определяемым пользователем или функциям обработчика ключей PSReadLine.

Синтаксис

ScriptBlock

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

Function

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

Описание

Командлет Set-PSReadLineKeyHandler настраивает результат при нажатии клавиши или последовательности клавиш. С помощью определяемых пользователем привязок ключей вы можете сделать практически все, что возможно из скрипта PowerShell.

Примеры

Пример 1. Привязка клавиши со стрелкой к функции

Эта команда привязывает клавишу стрелка вверх к функции HistorySearchBackward. Эта функция выполняет поиск в журнале команд для командных строк, которые начинаются с текущего содержимого командной строки.

Set-PSReadLineKeyHandler -Chord UpArrow -Function HistorySearchBackward

Пример 2. Привязка ключа к блоку скрипта

В этом примере показано, как можно использовать один ключ для выполнения команды. Команда привязывает ключ Ctrl+b к блоку скрипта, который очищает строку, вставляет слово "сборка", а затем принимает строку.

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

Параметры

-BriefDescription

Краткое описание привязки ключа. Это описание отображается командлетом Get-PSReadLineKeyHandler.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ScriptBlock
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Chord

Ключ или последовательность ключей, привязанных к функции или скрипту. Используйте одну строку для указания одной привязки. Если привязка представляет собой последовательность ключей, разделите ключи запятой. Например: Ctrl+x,Ctrl+l

Ссылки на ключи символов определяются с помощью прописных букв. Если вы хотите определить аккорд, использующий прописную букву, аккорд должен включать ключ Shift. Например, Ctrl+Shift+x и Ctrl+x создают различные привязки.

Этот параметр принимает массив строк. Каждая строка представляет собой отдельную привязку, а не последовательность ключей для одной привязки.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Ключ

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Description

Указывает более подробное описание привязки клавиши, видимой в выходных данных командлета Get-PSReadLineKeyHandler.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:LongDescription

Наборы параметров

ScriptBlock
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Function

Задает имя существующего обработчика ключей, предоставленного PSReadLine. Этот параметр позволяет переназначать существующие привязки клавиш или связывать обработчик, который в настоящее время не привязан.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Function
Position:1
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ScriptBlock

Указывает значение скрипта для запуска при вводе аккорда. PSReadLine передает один или два параметра в этот блок скрипта. Первый параметр — это объект ConsoleKeyInfo, представляющий нажатие клавиши. Второй аргумент может быть любым объектом в зависимости от контекста.

Свойства параметров

Тип:ScriptBlock
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ScriptBlock
Position:1
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ViMode

Укажите, к какому vi-режиму применяется привязка.

Допустимые значения:

  • Insert
  • Command

Свойства параметров

Тип:ViMode
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входные данные

None

Невозможно передать объекты в этот командлет.

Выходные данные

None

Этот командлет не возвращает выходные данные.