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.