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


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. Привязка ключа к блоку скрипта

В этом примере показано, как можно использовать один ключ для выполнения команды. Команда привязывает ключ 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
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Chord

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

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

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

Тип:String[]
Aliases:Key
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Description

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

Тип:String
Aliases:LongDescription
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Function

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

Тип:String
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ScriptBlock

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

Тип:ScriptBlock
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ViMode

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

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

  • Insert
  • Command
Тип:ViMode
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

None

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

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

None

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