Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Модуль PSReadLine предоставляет обработчики ключей, которые сопоставляют функции PSReadLine с аккордами клавиатуры. Аккорды клавиатуры — это последовательность одного или нескольких нажатий клавиш, которые одновременно нажимаются.
Например, аккорд Ctrl+Пробел — это сочетание клавиш Ctrl и Пробел, нажимаемых одновременно. Функция PSReadLine — это предопределенное действие, которое можно выполнить в командной строке. Например, функция MenuComplete
позволяет выбрать из списка параметров в меню, чтобы завершить ввод на командной строке.
PSReadLine имеет несколько предопределенных обработчиков ключей, привязанных по умолчанию. Вы также можете определить собственные пользовательские обработчики ключей. Выполните следующую команду, чтобы перечислить обработчики ключей, которые в настоящее время определены.
Get-PSReadLineKeyHandler
Вы также можете получить список всех несвязанных функций PSReadLine , доступных для привязки к аккорду ключа.
Get-PSReadLineKeyHandler -Unbound
С помощью командлета Set-PSReadLineKeyHandler
можно привязать функцию к обработчику ключей. Следующая команда привязывает MenuComplete
функцию к клавишам Ctrl и +.
Set-PSReadLineKeyHandler -Chord 'Ctrl+Spacebar' -Function MenuComplete
Поиск имён ноты и сочетаний аккордов
Имена ключей в аккорде определяются [System.ConsoleKey]
перечислением. Для получения дополнительной информации см. документацию по System.ConsoleKey. Например, название клавиши 2 в [System.ConsoleKey]
D2
, а название клавиши 2 на числовой клавиатуре NumPad2
. Вы можете использовать метод [System.Console]::ReadKey()
, чтобы найти имя нажатой клавиши.
[System.Console]::ReadKey()
В следующих выходных данных показаны сведения, возвращаемые методом ReadKey()
для аккорда клавиш CTRL+2 .
KeyChar Key Modifiers
------- --- ---------
D2 Control
Для командлетов обработчика ключей PSReadLine этот аккорд представлен как Ctrl+D2
. В следующем примере выполняется привязка этого аккорда к функции.
Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
Можно привязать несколько шнуров к одной функции. По умолчанию BackwardDeleteChar
функция привязана к двум аккордам.
Get-PSReadLineKeyHandler -Chord Backspace, Ctrl+h
Key Function Description
--- -------- -----------
Backspace BackwardDeleteChar Delete the character before the cursor
Ctrl+h BackwardDeleteChar Delete the character before the cursor
Замечание
Параметр Chordчувствителен к регистру. Это означает, что можно создать различные привязки для ctrl+X и CTRL+X.
В Windows можно также использовать аккорд клавиши ALT+? для отображения функции, привязанной к следующему ключевому аккорду, который вы вводите. При вводе ALT+отображается следующая строка:
what-is-key:
При нажатии клавиши Backspace вы получите следующий ответ:
Backspace: BackwardDeleteChar - Delete the character before the cursor
Обработчики ключей на компьютерах, отличных от Windows
Коды ключей, созданные клавиатурой, могут отличаться в зависимости от используемого операционной системы и приложения терминала.
macOS
Клавиатура Macintosh не имеет клавиши ALT , таких как системы Windows и Linux. Вместо этого есть клавиша ⌥ Option. macOS использует этот ключ не так, как клавиша ALT в других системах. Однако вы можете настроить терминал и приложения iTerm2 в macOS, чтобы рассматривать его как alt-ключ .
Настройка приложения терминала
Откройте окно "Параметры " на панели приложений в Terminal.app. Выберите профили и выберите профиль, который требуется настроить. Выберите вкладку "Клавиатура " параметров конфигурации. Под списком ключей выберите параметр "Использовать" в качестве параметра метаключа . Этот параметр позволяет клавише ⌥ (Option) действовать как alt в терминальном приложении.
Настройка приложения iTerm2
Откройте окно "Параметры " на панели приложений в iTerm.app. Выберите профили и выберите профиль, который требуется настроить. Перейдите на вкладку "Ключи" параметров конфигурации. Выберите параметр ESC+ для настройки левой клавиши Option и правой клавиши Option. Этот параметр позволяет клавише ⌥ Option действовать как Alt в приложении iTerm.
Замечание
Точные шаги могут отличаться в зависимости от версий macOS и приложений терминала. Эти примеры были записаны в macOS Ventura 13.2.1 и iTerm2 версии 3.4.16.
Линукс
На платформах Linux созданный ключ может отличаться от других систем. Рассмотрим пример.
CTRL+[ совпадает с Escape
CTRL+Пробел создает коды ключей для CTRL+D2. Если вы хотите сопоставить функцию CTRL+ПРОБЕЛ , необходимо использовать аккорд
Ctrl+D2
.Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
ReadKey()
Используйте метод для проверки кодов ключей, созданных клавиатурой.
Часто используемые обработчики ключей
Ниже приведены несколько часто используемых обработчиков ключей, привязанных по умолчанию в Windows. Обратите внимание, что привязка ключа может отличаться на платформах, отличных от Windows.
MenuComplete
Выполните входные данные, выбрав в меню возможные значения завершения.
Аккорд по умолчанию: Ctrl+Spacebar
В следующем примере показано меню возможных завершений для команд, начиная с select
.
PS C:\> select<Ctrl+Spacebar>
select Select-Object Select-PSFPropertyValue Select-Xml
Select-AzContext Select-PSFConfig Select-PSMDBuildProject
Select-AzSubscription Select-PSFObject Select-String
Select-Object
Используйте клавиши со стрелками, чтобы выбрать нужное завершение. Нажмите клавишу ВВОД , чтобы завершить входные данные. При переходе по выбранным параметрам под меню отображается справка по выбранной команде.
Очистить экран
Эта функция очищает экран, аналогичный cls
командам или clear
командам.
Аккорд по умолчанию: Ctrl+l
АргументВыбораКоманды
Выбирает следующий аргумент в командной строке.
Аккорд по умолчанию: Alt+a
В истории команд могут быть те, которые вы хотите запустить снова с другими значениями параметров. Вы можете использовать аккорд для циклического перехода по каждому параметру и изменения значения по мере необходимости.
New-AzVM -ResourceGroupName myRGName -Location eastus -Name myVM
При нажатии клавиши ALT+в свою очередь выбирается следующий аргумент параметра: myRGName
, eastus
, myVM
.
GotoBrace
Перемещает курсор в соответствующую фигурную скобку.
Аккорд по умолчанию: Ctrl+]
Эти функции перемещают курсор на закрывающую фигурную скобку, которая соответствует фигурной скобке в текущей позиции курсора в командной строке. Функция работает для квадратных скобок ([]
), фигурных скобок ({}
) и круглых скобок (()
).
ЦифровойАргумент
Запуск или накопление числового аргумента, используемого для повторения нажатия клавиш указанного количества раз.
Аккорд по умолчанию: Alt+0
через Alt+9
Например, нажатие Alt+4+# вводит ####
в командной строке.
См. также
PowerShell