Tamamlama önerilerinden belirli bir sonuç seçin


10

Belirli bir dizinde 3 dosyam olduğunu varsayalım: abc.txt, aww.txt, ant.txt

Yaparsam: cat a(ve seçenekleri görmek için sekmeye basın) terminal 3 dosya adını görüntüler:abc.txt, aww.txt, ant.txt

Terminalde görüntülenen sonuçlarda dizin numarasını belirterek, yazmak yerine n'inci sonucu seçmenin bir yolu var mı?

gibi bir şey: cat a2ikinci dosyayı almak ( aww.txt)?


Farkında olduğumdan değil. Zsh'da SEKME'ye birden çok kez vurabilecek tüm olası tamamlamaları yineleyebilirsiniz (SEKE 4 kez vurmak tamamlanır ant.txt). Daha iyi bir navigasyon için geriye doğru yineleme yapılabilmesi için de ayarlanabilir. Bu tabii ki kabuğun Zsh olarak değiştirilmesini gerektirir. Yeterince iyi bir alternatif olduğunu düşünüyorsanız bunun için bir cevap yazabilirim.
kos

Yanıtlar:


11

Bash kullandığınızı varsayarsak, aşağıdakileri de ekleyin ~/.bashrc:

bind '"\e[6~": menu-complete'
bind '"\e[5~": menu-complete-backward'

Veya yalnızca bash değil, readline tamamlama kitaplığını kullanan tüm programların varsayılanlarını değiştirmek için aşağıdakileri ~/.inputrciçeren dosyayı oluşturun:

$include /etc/inputrc
"\e[6~": menu-complete
"\e[5~": menu-complete-backward

Şimdi yeni bir terminal açtığınızda şunlara basabilirsiniz:

  • TAB mevcut tamamlamaları görmek normaldir.
  • Pg Dn ilk tamamlamayı seçmek veya bir sonrakini değiştirmek için.
  • Pg Up son tamamlamayı seçmek veya bir öncekine geçmek için
  • Alt+ Pg Dnn'inci tamamlamayı seçmek veya + tamamlamalarını ileriye taşımak için

Yani örnek için ikinci dosyayı almak için Pg DnPg Dnveya Alt+ 2Pg Dnyazın aww.txt.


cdDizinleri kullandığınızı ve bisiklet sürdüğünüzü varsayalım . Bu dizini "seçmek" ve o dizinin içeriğini çevirmek için hangi tuşa basarsınız? Ayarlamak / bağlamak için başka bir şey var mı?
Tony

Klavyenin ev satırdan çok uzakta ellerini taşımak istemiyorsanız bir alternatif yoluyla yapılabilir Ctrl + Alt + yerine PageUp ve Ctrl + Alt + N P yerine PageDown kullanmaktır bind '"\e\20": menu-complete-backward've bind '"\e\16": menu-complete'.
Ruslan
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.