Komut istemindeki (arg: n) ne anlama geliyor?


10

Codecademy'nin Komut Satırı Kursunda , Alt+Shift+#komut isteminde klavye kısayolunu (geçerli satırı yorumlaması beklenen) kullanmaya çalışırken , satırın başına tire eklemek yerine istemi olarak $değiştirir (arg: 3). bunun yerine Alt+Shift+@görüntülenmesini (arg: 2)vb. gösterecektir . Aşağıdaki ekran görüntüsünde son satıra bakın. Vurmadan önce Alt+Shift+#sadece öyleydi $.

ekran görüntüsü

Kısayol makinemde iyi çalışıyor.

  1. Bu (arg: n)şey nedir?
  2. Klavye kısayolları ne işe yarar? Klavye düzeni? İşletim sistemi dağıtımı? Bağlantı emülatörü? Varsayılan CLI? Ne?

Yanıtlar:


15

Bu, sayısal bir argüman girerken readline kütüphanesinin istemidir. AltShift@Klavyenizi yazarak , görünüşte varsayılan olarak readline'da çalışan ve sayısal bir argüman girmeye başlayan Alt2hangi haritalara girersiniz . Daha sonra tuşuna basarsanız (davanızla eşleşir) istemin şu şekilde değiştiğini görürsünüz ; herhangi bir basamaklı kombinasyon ile devam edebilirsiniz .M-2digit-argumentAlt3AltShift#(arg: 23)Alt

Bu bağımsız değişkenler, örneğin bazı okuma çizgisi işlevleri için kullanılır yank-nth-arg. Bunu çalışırken görmek için çalıştırın

echo Hello my friend

Daha sonra pres Alt2ardından CtrlAltY; (arg: 2)komut isteminin göründüğünü görür , sonra kaybolur ve önceki komutun ("my") ikinci argümanı geçerli komut satırınıza eklenir.

Ayrıntılar için yukarıdaki bağlantılı belgelere bakın. Bash girdisini işlemek için readline kullanır; diğer mermiler aynı davranışı göstermez.

Bazı terminal emülatörleri bu tuş kombinasyonlarının bazılarını kendi amaçları için kullanır; örneğin GNOME Terminalinde, Alt-digit n . sekmeye geçer. Readline işlevlerini kullanmak için bu kombinasyonları devre dışı bırakmanız gerekir.

Sizin durumunuzda, Codecademy web tabanlı terminal emülatörü AltShiftkombinasyonları çok iyi işlemiyor gibi görünüyor . Sayısal bağımsız değişken kısayollarına ihtiyacınız yoksa, bunları çalıştırarak yeniden düzenleyebilirsiniz.

bind Meta-3:insert-comment

Teoride şunu ekleyerek bunu kalıcı olarak saklayabilmelisiniz:

Meta-3: insert-comment

Bir üzere ~/.inputrcdosyanın, ama bu Codecademy üzerinde çalışmak için alamadım.


1
Teşekkür ederim. Readline'ı nasıl devre dışı bırakabilirim veya başka bir şekilde geçerli komut satırına yorum yapmak için klavye kısayolunu nasıl kullanabilirim?
— user331380

Hangi terminal emülatörünü kullanıyorsunuz?
— Stephen Kitt

Codecademy'de nasıl yapılacağını bilmek istiyorum, sağ tıklamak ve öğrenmek için bir yolum yok. ps -o 'cmd=' -p $(ps -o 'ppid=' -p $$)çıktılar /usr/local/bin/ein -service-port 4006 -http-port 4007. Bu yardımcı olur mu?
— user331380

1
@ user331380 Muhtemelen bashorada Codeacademy'de kabuk kullanıyorsunuz . Etkileşimli kabukta ile yeni bir örnek başlatabilirsiniz bash --noediting. Bu, readline'ı devre dışı bırakacak, ancak readlinekitaplığın kabuğun etkileşimli kullanımını biraz daha rahatsız edici hale getirebilecek birçok satır düzenleme özelliğinden sorumlu olduğunu unutmayın
— Sergiy Kolodyazhnyy

Yazdığınız bir sonraki normal mod komutunun sayısal bağımsız değişkenini temsil etmek için sayıyı normal modda yazdığınızda vi-keybindings'de de gerçekleştiğinden bahsetmeye değer olabilir.
— JoL
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.