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
Этот командлет не возвращает выходные данные.
Связанные ссылки
PowerShell