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+D2
temsil 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.
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.
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+D2
kullanmanı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.
Menü Tamamla
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 select
baş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.
PowerShell