Condividi tramite


Uso dei gestori di chiavi PSReadLine

Il modulo PSReadLine fornisce gestori di tasti che eseguono il mapping delle funzioni PSReadLine agli accordi da tastiera. Gli accordi della tastiera sono una sequenza di una o più sequenze di tasti premuti contemporaneamente. Ad esempio, la barra spaziatrice CTRL+con accordi è la combinazione dei tasti CTRL e barra spaziatrice premuti contemporaneamente. Una funzione PSReadLine è un'azione predefinita che può essere eseguita su una riga di comando. Ad esempio, la MenuComplete funzione consente di scegliere da un elenco di opzioni da un menu completare l'input nella riga di comando.

PSReadLine include diversi gestori di chiavi predefiniti associati per impostazione predefinita. È anche possibile definire gestori di chiavi personalizzati. Eseguire il comando seguente per elencare i gestori di tasti attualmente definiti.

Get-PSReadLineKeyHandler

È anche possibile ottenere un elenco di tutte le funzioni PSReadLine non associate che sono disponibili per essere associate a un accordo chiave.

Get-PSReadLineKeyHandler -Unbound

È possibile usare il Set-PSReadLineKeyHandler cmdlet per associare una funzione a un gestore di chiavi. Il comando seguente associa la MenuComplete funzione alla barra spaziatrice CTRL+con accordi.

Set-PSReadLineKeyHandler -Chord 'Ctrl+Spacebar' -Function MenuComplete

Ricerca di nomi chiave e associazioni di accordi

I nomi delle chiavi nell'accordo sono definiti dall'enumerazione [System.ConsoleKey] . Per altre informazioni, vedere la documentazione di System.ConsoleKey . Ad esempio, il nome del tasto 2 in [System.ConsoleKey] è D2, mentre il nome del tasto 2 nel tastierino numerico è NumPad2. È possibile usare il [System.Console]::ReadKey() metodo per trovare il nome del tasto premuto.

[System.Console]::ReadKey()

L'output seguente mostra le informazioni restituite dal ReadKey() metodo per il tasto CTRL+2 accordo.

KeyChar Key Modifiers
------- --- ---------
        D2   Control

Per i cmdlet del gestore delle chiavi PSReadLine , questo accordo viene rappresentato come Ctrl+D2. L'esempio seguente associa questo accordo a una funzione.

Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete

È possibile associare più cavi a una singola funzione. Per impostazione predefinita, la BackwardDeleteChar funzione è associata a due accordi.

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

Nota

Il parametro Chord fa distinzione tra maiuscole e minuscole. Ciò significa che è possibile creare associazioni diverse per CTRL X e CTRL++X.

In Windows è anche possibile usare il tasto ALT+? per visualizzare la funzione associata al tasto successivo che si immette. Quando si digita ALT+? viene visualizzato il prompt seguente:

what-is-key:

Quando si raggiunge il tasto Backspace si ottiene la risposta seguente:

Backspace: BackwardDeleteChar - Delete the character before the cursor

Gestori delle chiavi nei computer non Windows

I codici dei tasti generati dalla tastiera possono essere diversi a seconda del sistema operativo e dell'applicazione terminale in uso.

macOS

La tastiera Macintosh non ha un tasto ALT come i sistemi Windows e Linux. Ha invece il tasto di opzione ⌥. macOS usa questa chiave in modo diverso rispetto al tasto ALT in altri sistemi. Tuttavia, è possibile configurare il terminale e le applicazioni iTerm2 in macOS per considerarlo come un tasto ALT .

Configurazione dell'applicazione Terminale

Aprire la finestra Impostazioni dalla barra dell'app in Terminal.app. Selezionare Profili e scegliere il profilo da configurare. Selezionare la scheda Tastiera delle opzioni di configurazione. Sotto l'elenco di chiavi selezionare l'impostazione Usa opzione come metachiavi . Questa impostazione consente al tasto di opzione ⌥ di agire come ALT nell'applicazione Terminale.

Screenshot delle impostazioni di Terminal.app.

Configurazione dell'applicazione iTerm2

Aprire la finestra Impostazioni dalla barra dell'app in iTerm.app. Selezionare Profili e scegliere il profilo da configurare. Selezionare la scheda Chiavi delle opzioni di configurazione. Selezionare l'opzione ESC+ per le impostazioni Chiave opzione sinistra e Tasto opzione destra. Questa impostazione consente al tasto di opzione ⌥ di fungere da ALT nell'applicazione iTerm.

Screenshot delle impostazioni di iTerm.app.

Nota

I passaggi esatti possono variare a seconda delle versioni di macOS e delle applicazioni del terminale. Questi esempi sono stati acquisiti in macOS Ventura 13.2.1 e iTerm2 v3.4.16.

Linux

Nelle piattaforme Linux il codice chiave generato può essere diverso da altri sistemi. Ad esempio:

  • CTRL+[ è uguale a Escape

  • Ctrl+Barra spaziatrice genera i codici dei tasti per CTRL+D2. Se si desidera eseguire il mapping di una funzione CTRL+barra spaziatrice, è necessario usare l'accordo .Ctrl+D2

    Set-PSReadLineKeyHandler -Chord 'Ctrl+D2' -Function MenuComplete
    

Usare il ReadKey() metodo per verificare i codici dei tasti generati dalla tastiera.

Gestori di chiavi di uso comune

Ecco alcuni gestori di chiavi comunemente usati associati per impostazione predefinita in Windows. Si noti che l'associazione di tasti può essere diversa nelle piattaforme non Windows.

Completare l'input selezionando da un menu di possibili valori di completamento.

Accordo predefinito: Ctrl+Spacebar

Nell'esempio seguente viene illustrato il menu dei possibili completamenti per i comandi che iniziano con 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

Usare i tasti di direzione per selezionare il completamento desiderato. Premere INVIO per completare l'input. Durante lo spostamento tra le selezioni, la Guida per il comando selezionato viene visualizzata sotto il menu.

ClearScreen

Questa funzione cancella la schermata simile ai cls comandi o clear .

Accordo predefinito: Ctrl+l

SelezionareCommandArgument

Seleziona l'argomento successivo nella riga di comando.

Accordo predefinito: Alt+a

È possibile che nella cronologia sia presente un comando che si vuole eseguire di nuovo con valori di parametro diversi. È possibile usare l'accordo per scorrere ogni parametro e modificare il valore in base alle esigenze.

New-AzVM -ResourceGroupName myRGName -Location eastus -Name myVM

Premendo ALT+viene selezionato l'argomento parametro successivo a sua volta: myRGName, eastus, . myVM

GotoBrace

Sposta il cursore sulla parentesi graffa corrispondente.

Accordo predefinito: Ctrl+]

Questa funzione sposta il cursore sulla parentesi graffa di chiusura corrispondente alla parentesi graffa nella posizione corrente del cursore sulla riga di comando. La funzione funziona per parentesi quadre ([]), parentesi graffe ({}) e parentesi, (()).

DigitArgument

Avviare o accumulare un argomento numerico per ripetere una sequenza di tasti il numero di volte specificato.

Accordo predefinito: Alt+0 through Alt+9

Ad esempio, digitando ALT+4#+ viene immesso #### nella riga di comando.

Vedi anche