Поиск по сайту:

Set-PSReadLineKeyHandler (PSReadLine)


Set-PSReadLineKeyHandler

Модуль:
PSReadLine

Привязывает клавиши к пользовательским функциям обработчика клавиш или 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: привязка ключа к блоку скрипта

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

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

Параметры

-BriefDescription

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

Тип :

String

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Chord

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

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

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

Тип :

String[]

Псевдонимы:

Key

Позиция:

0

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Description

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

Тип :

String

Псевдонимы:

LongDescription

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Function

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

Тип :

String

Позиция:

1

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-ScriptBlock

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

Тип :

ScriptBlock

Позиция:

1

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-ViMode

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

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

    Insert
    Command
Тип :

ViMode

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

Входы

Нет

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

Выходы

Нет

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