Aracılığıyla paylaş


PSReadLine anahtar işleyicilerini kullanma

PSReadLine modülü, PSReadLine işlevlerini klavye akorlarıyla eşleyen anahtar işleyiciler sağlar. Klavye akorları, aynı anda basılan bir veya daha fazla tuş vuruşu dizisidir. Örneğin, akor Ctrl+Ara Çubuğu, aynı anda basılan Ctrl ve Ara Çubuğu tuşlarının birleşimidir. PSReadLine işlevi, komut satırında gerçekleştirilebilecek önceden tanımlanmış bir eylemdir. Örneğin işlevi, MenuComplete komut satırındaki girişi tamamlayan bir menüden seçenekler listesinden seçim yapmanıza olanak tanır.

PSReadLine ' ın varsayılan olarak bağlı olan önceden tanımlanmış birkaç anahtar işleyicisi vardır. Kendi özel anahtar işleyicilerinizi de tanımlayabilirsiniz. Şu anda tanımlanmış olan anahtar işleyicilerini listelemek için aşağıdaki komutu çalıştırın.

Get-PSReadLineKeyHandler

Ayrıca, bir anahtar akorla bağlanabilecek tüm ilişkisiz PSReadLine işlevlerinin listesini de alabilirsiniz.

Get-PSReadLineKeyHandler -Unbound

bir işlevi bir anahtar işleyicisine bağlamak için cmdlet'ini kullanabilirsiniz Set-PSReadLineKeyHandler . Aşağıdaki komut işlevi akor Ctrl+Ara Çubuğu'na bağlar.MenuComplete

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

Anahtar adlarını ve akor bağlamalarını bulma

Akordaki anahtarların adları numaralandırma tarafından [System.ConsoleKey] tanımlanır. Daha fazla bilgi için bkz . System.ConsoleKey belgeleri. Örneğin, içindeki 2 tuşunun adı şeklindeykenD2, sayısal tuş takımındaki 2 tuşun adı şeklindedirNumPad2.[System.ConsoleKey] tuşuna [System.Console]::ReadKey() bastığınız anahtarın adını bulmak için yöntemini kullanabilirsiniz.

[System.Console]::ReadKey()

Aşağıdaki çıkışta Ctrl+2 tuş akorunun yöntemi tarafından ReadKey() döndürülen bilgiler gösterilmektedir.

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

PSReadLine anahtar işleyici cmdlet'leri için bu akor olarak Ctrl+D2temsil edilir. Aşağıdaki örnek bu akoru bir işleve bağlar.

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

Tek bir işleve birden çok kablo bağlayabilirsiniz. İşlev varsayılan olarak BackwardDeleteChar iki akorla bağlıdır.

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

Not

Chord parametresi büyük/küçük harfe duyarlıdır. Başka bir deyişle, Ctrl X ve Ctrl++ x için farklı bağlamalar oluşturabilirsiniz.

Windows'da, alt? tuş akorunu +kullanarak girdiğiniz sonraki tuş akoruna bağlı işlevi de gösterebilirsiniz. Alt+ yazdığınızda aşağıdaki istemi görürsünüz:

what-is-key:

Geri al tuşuna bastığınızda aşağıdaki yanıtı alırsınız:

Backspace: BackwardDeleteChar - Delete the character before the cursor

Windows olmayan bilgisayarlarda anahtar işleyicileri

Klavyeniz tarafından oluşturulan tuş kodları, kullandığınız işletim sistemine ve terminal uygulamasına bağlı olarak farklı olabilir.

macOS

Macintosh klavyesinde Windows ve Linux sistemleri gibi bir Alt tuşu yoktur. Bunun yerine ⌥ Option tuşuna sahiptir. macOS bu anahtarı diğer sistemlerde Alt anahtarından farklı kullanır. Ancak, macOS'ta terminal ve iTerm2 uygulamalarını bir Alt anahtar olarak ele almak üzere yapılandırabilirsiniz.

Terminal uygulamasını yapılandırma

Terminal.app'daki Uygulama çubuğundan Ayarlar penceresini açın. Profiller'i seçin ve yapılandırmak istediğiniz profili seçin. Yapılandırma seçeneklerinin Klavye sekmesini seçin. Anahtar listesinin altında Seçeneği Meta Anahtar Olarak Kullan ayarını seçin. Bu ayar⌥ Option tuşunun Terminal uygulamasında Alt olarak davranmasını sağlar.

Terminal.app ayarlarının ekran görüntüsü.

iTerm2 uygulamasını yapılandırma

iTerm.app'daki Uygulama Çubuğu'ndan Ayarlar penceresini açın. Profiller'i seçin ve yapılandırmak istediğiniz profili seçin. Yapılandırma seçeneklerinin Anahtarlar sekmesini seçin. Hem Sol Seçenek Tuşu hem de Sağ Seçenek Tuşu ayarları için Esc+ seçeneğini belirleyin. Bu ayar, ⌥ Option tuşunun iTerm uygulamasında Alt olarak davranmasını sağlar.

iTerm.app ayarlarının ekran görüntüsü.

Not

Tam adımlar macOS sürümlerine ve terminal uygulamalarına bağlı olarak değişebilir. Bu örnekler macOS Ventura 13.2.1 ve iTerm2 v3.4.16'da yakalanır.

Linux

Linux platformlarında, oluşturulan anahtar kodu diğer sistemlerden farklı olabilir. Örneğin:

  • Ctrl+[, Escape ile aynıdır

  • Ctrl+Ara Çubuğu, Ctrl+D2 için anahtar kodlarını oluşturur. Bir işlevi eşlemek istiyorsanız Ctrl+Ara Çubuğu akorunu Ctrl+D2kullanmanız gerekir.

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

ReadKey() Klavyeniz tarafından oluşturulan tuş kodlarını doğrulamak için yöntemini kullanın.

Yaygın olarak kullanılan anahtar işleyicileri

Aşağıda, Windows'ta varsayılan olarak bağlı olan, yaygın olarak kullanılan birkaç anahtar işleyicisi yer alır. Anahtar bağlamanın Windows dışı platformlarda farklı olabileceğini unutmayın.

Olası tamamlama değerlerinin yer aldığı bir menüden seçim yaparak girişi tamamlayın.

Varsayılan akor: Ctrl+Spacebar

Aşağıdaki örnek, ile selectbaşlayan komutlar için olası tamamlamaların menüsünü gösterir.

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

İstediğiniz tamamlanmayı seçmek için ok tuşlarını kullanın. Girişi tamamlamak için Enter tuşuna basın. Seçimlerde ilerlediğinizde, menünün altında seçili komutla ilgili yardım görüntülenir.

ClearScreen

Bu işlev, veya clear komutlarına benzer şekilde cls ekranı temizler.

Varsayılan akor: Ctrl+l

SelectCommandArgument

Komut satırında sonraki bağımsız değişkeni seçer.

Varsayılan akor: Alt+a

Geçmişinizde farklı parametre değerleriyle yeniden çalıştırmak istediğiniz komutunuz olabilir. Her parametrede döngü yapmak ve değeri gerektiği gibi değiştirmek için akorunu kullanabilirsiniz.

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

Alt+a tuşuna basıldığında sonraki parametre bağımsız değişkeni sırayla seçilir: myRGName, eastus, . myVM

GotoBrace

İmleci eşleşen küme ayracına taşır.

Varsayılan akor: Ctrl+]

Bu işlevler, imlecinizi komut satırındaki geçerli imleç konumundaki küme ayracı ile eşleşen kapanış ayracına taşır. İşlev köşeli ayraçlar ([]), ayraçlar ({}) ve parantezler (()) için çalışır.

DigitArgument

Belirtilen sayıda tuş vuruşunu yinelemek için sayısal bir bağımsız değişken başlatın veya biriktirin.

Varsayılan akor: Alt+0 ile Alt+9

Örneğin, Alt+4#+ yazdıktan sonra komut satırına girilir.####

Ayrıca bkz.