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, MenuComplete işlevi, bir menüden seçenekler listesinden seçim yapmanıza ve komut satırındaki girişi tamamlamanı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, MenuComplete işlevini Ctrl++Ara Çubuğu birleşimine bağlar.

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

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

Akordaki anahtarların adları, numaralandırmadaki [System.ConsoleKey] adlarla eşleşir. Daha fazla bilgi için bkz. System.ConsoleKey belgeleri. Örneğin, içindeki[System.ConsoleKey] 2 tuşunun adı D2 iken, sayısal tuş takımındaki 2 tuşunun adı NumPad2. tuşuna [System.Console]::ReadKey() bastığınız anahtarın adını bulmak için yöntemini kullanabilirsiniz.

[System.Console]::ReadKey()

Aşağıdaki çıktı, ReadKey() yöntemi tarafından döndürülen Ctrl+2 tuş akorunun bilgilerini göstermektedir.

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. Varsayılan olarak BackwardDeleteChar işlevi, iki akora 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

Uyarı

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

Windows'da, alt? tuş + 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ü.

Uyarı

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

Linux işletim sistemi

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

  • Ctrl+[Escape ile aynıdır

  • Ctrl+Ara çubuğuCtrl+D2 için anahtar kodlarını oluşturur. Bir işlevi Ctrl+Ara Çubuğu'na eşlemek istiyorsanız, 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. Tuş bağlamaları Windows dışı platformlarda farklı olabilir.

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, cls veya clear komutlarına benzer şekilde ekranı temizler.

Varsayılan akor: Ctrl+l

SeçKomutArgümanı

Komut satırında sonraki argümanı 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 parantezine taşır.

Varsayılan akor: Ctrl+]

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

SayısalArgüman

Başlatın veya belirtilen sayıda tuş vuruşunu yinelemek için kullanılan sayısal bir argümanı biriktirin.

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

Örneğin, komut satırına Alt+4+# tuşlayarak girilir ####.

Ayrıca bakınız