Bagikan melalui


Menggunakan handler kunci PSReadLine

Modul PSReadLine menyediakan handler kunci yang memetakan fungsi PSReadLine ke akord keyboard. Akord keyboard adalah urutan dari satu atau beberapa penekanan tombol yang ditekan secara bersamaan. Misalnya, chord Ctrl+Spacebar adalah kombinasi tombol Ctrl dan Spacebar yang ditekan secara bersamaan. Fungsi PSReadLine adalah tindakan yang telah ditentukan sebelumnya yang dapat dilakukan pada baris perintah. Misalnya, fungsi ini MenuComplete memungkinkan Anda memilih dari daftar opsi dari menu yang menyelesaikan input pada baris perintah.

PSReadLine memiliki beberapa handler kunci yang telah ditentukan sebelumnya yang terikat secara default. Anda juga dapat menentukan handler kunci kustom Anda sendiri. Jalankan perintah berikut untuk mencantumkan handler kunci yang saat ini ditentukan.

Get-PSReadLineKeyHandler

Anda juga bisa mendapatkan daftar semua fungsi PSReadLine yang tidak terikat yang tersedia untuk terikat ke akord kunci.

Get-PSReadLineKeyHandler -Unbound

Anda dapat menggunakan Set-PSReadLineKeyHandler cmdlet untuk mengikat fungsi ke handler kunci. Perintah berikut mengikat MenuComplete fungsi ke akord Ctrl+Spacebar.

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

Menemukan nama kunci dan pengikatan akor

Nama kunci dalam akord ditentukan oleh [System.ConsoleKey] enumerasi. Untuk informasi selengkapnya, lihat dokumentasi System.ConsoleKey . Misalnya, nama 2 kunci di [System.ConsoleKey] adalah D2, sedangkan nama 2 kunci pada keypad numerik adalah NumPad2. Anda dapat menggunakan [System.Console]::ReadKey() metode untuk menemukan nama tombol yang Anda tekan.

[System.Console]::ReadKey()

Output berikut menunjukkan informasi yang dikembalikan oleh ReadKey() metode untuk akord kunci Ctrl+2 .

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

Untuk cmdlet handler kunci PSReadLine, akord ini direpresentasikan sebagai Ctrl+D2. Contoh berikut mengikat akord ini ke fungsi.

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

Anda dapat mengikat beberapa kabel ke satu fungsi. Secara default, BackwardDeleteChar fungsi terikat ke dua akord.

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

Catatan

Parameter Chord peka huruf besar/kecil. Artinya, Anda dapat membuat pengikatan yang berbeda untuk Ctrl+X dan Ctrl+x.

Di Windows, Anda juga dapat menggunakan akord kunci Alt+? untuk menampilkan fungsi yang terikat ke akord kunci berikutnya yang Anda masukkan. Saat Anda mengetik Alt+? Anda akan melihat perintah berikut:

what-is-key:

Saat Anda menekan kunci Backspace , Anda mendapatkan respons berikut:

Backspace: BackwardDeleteChar - Delete the character before the cursor

Handler kunci pada komputer non-Windows

Kode kunci yang dihasilkan oleh keyboard Anda dapat berbeda tergantung pada sistem operasi dan aplikasi terminal yang Anda gunakan.

macOS

Keyboard Macintosh tidak memiliki tombol Alt seperti sistem Windows dan Linux. Sebaliknya, ia memiliki kunci ⌥ Option . macOS menggunakan kunci ini secara berbeda dari kunci Alt pada sistem lain. Namun, Anda dapat mengonfigurasi aplikasi terminal dan iTerm2 di macOS untuk memperlakukannya sebagai kunci Alt .

Mengonfigurasi aplikasi Terminal

Buka jendela Pengaturan dari bilah Aplikasi di Terminal.app. Pilih Profil dan pilih profil yang ingin Anda konfigurasi. Pilih tab Keyboard dari opsi konfigurasi. Di bawah daftar kunci, pilih pengaturan Gunakan Opsi sebagai Kunci Meta. Pengaturan ini memungkinkan kunci ⌥ Opsi untuk bertindak sebagai Alt di aplikasi Terminal.

Cuplikan layar pengaturan Terminal.app.

Mengonfigurasi aplikasi iTerm2

Buka jendela Pengaturan dari Bilah Aplikasi di iTerm.app. Pilih Profil dan pilih profil yang ingin Anda konfigurasi. Pilih tab Kunci dari opsi konfigurasi. Pilih opsi Esc+ untuk pengaturan Kunci Opsi Kiri dan Tombol Opsi Kanan. Pengaturan ini memungkinkan kunci ⌥ Option untuk bertindak sebagai Alt di aplikasi iTerm.

Cuplikan layar pengaturan iTerm.app.

Catatan

Langkah-langkah yang tepat dapat bervariasi tergantung pada versi macOS dan aplikasi terminal. Contoh-contoh ini diambil di macOS Ventura 13.2.1 dan iTerm2 v3.4.16.

Linux

Pada platform Linux, kode kunci yang dihasilkan dapat berbeda dari sistem lain. Contohnya:

  • Ctrl+[ sama dengan Escape

  • Ctrl+Spacebar menghasilkan kode kunci untuk Ctrl+D2. Jika Anda ingin memetakan fungsi Ctrl+Spacebar, Anda harus menggunakan akord .Ctrl+D2

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

ReadKey() Gunakan metode untuk memverifikasi kode kunci yang dihasilkan oleh keyboard Anda.

Handler kunci yang umum digunakan

Berikut adalah beberapa handler kunci yang umum digunakan yang terikat secara default di Windows. Perhatikan bahwa pengikatan kunci mungkin berbeda pada platform non-Windows.

Selesaikan input dengan memilih dari menu nilai penyelesaian yang mungkin.

Akord default: Ctrl+Spacebar

Contoh berikut menunjukkan menu kemungkinan penyelesaian untuk perintah yang dimulai dengan 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

Gunakan tombol panah untuk memilih penyelesaian yang Anda inginkan. Tekan tombol Enter untuk menyelesaikan input. Saat Anda menelusuri pilihan, bantuan untuk perintah yang dipilih ditampilkan di bawah menu.

ClearScreen

Fungsi ini menghapus layar yang mirip cls dengan perintah atau clear .

Akord default: Ctrl+l

PilihCommandArgument

Memilih argumen berikutnya pada baris perintah.

Akord default: Alt+a

Anda mungkin memiliki perintah dalam riwayat yang ingin Anda jalankan lagi dengan nilai parameter yang berbeda. Anda dapat menggunakan akord untuk menelusuri setiap parameter dan mengubah nilai sesuai kebutuhan.

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

Menekan Alt+, memilih argumen parameter berikutnya pada gilirannya: myRGName, , . eastusmyVM

GotoBrace

Memindahkan kursor ke kurung kurawal yang cocok.

Akord default: Ctrl+]

Fungsi ini memindahkan kursor Anda ke kurung kurawal penutup yang cocok dengan kurung kurawal pada posisi kursor saat ini pada baris perintah. Fungsi ini berfungsi untuk tanda kurung siku ([]), kurung kurung ({}), dan tanda kurung, (()).

DigitArgument

Mulai atau akumulasi penggunaan argumen numerik untuk mengulangi penekanan tombol berapa kali yang ditentukan.

Akord default: Alt+0 melalui Alt+9

Misalnya, mengetik Alt+4+# masuk #### pada baris perintah.

Lihat juga