Zsh sekmesinin tamamlanmasını iptal et


10

Tamamlanmaya başlandıktan sonra iptal etmenin bir yolu var mı? Bazen hedefleri otomatik tamamlama yapmak için aptalca sekmeye basarım (sadece katıksızlıktan sonra) ve daha sonra kendimi tüm "install" veya "check" yazdığımdan daha uzun bir süre beklemek zorunda kalıyorum.

Zshzle man sayfasında bir şey görmedim, ama belki bir şey kaçırdım? Başka herhangi bir mermi bu özelliğe sahip mi?

EDIT : Önemsiz cevap. Bunun yerine: zsh'ın sekme tamamlamanın yürütülmesi nispeten uzun bir zaman alacağını tahmin etmesi ve bunun yerine kullanıcının bunu yapmasını isteyip istemediğini sormasının bir yolu var mı?


2
ctrl-cçalışmıyor mu?
llua

1
Kahretsin, öyle! Bu bana bir sebepten dolayı olmadı. Sanırım Ctrl-C'nin daha dramatik bir şey yapacağını düşündüm. Soru silinsin mi? (Ya da belki biraz rep ister misin?)
Zorawar

1
Bir sekmenin tamamlanması için geçen süreyi tahmin etmenin bir yolu olduğunu düşünmüyorum. Sonuçları önbelleğe alabilirsiniz, ancak muhtemelen budur.
Ulrich Dangel

1
@zorawar, ben sadece yardım etmeye çalışıyorum, yüksek puan almak değil:]
llua

1
ctrl-c, tüm zsh'ın tamamlama mekanizmaları için çalışmaz. Eğer kimse bunu durdurmak için başka yollar biliyorsa. Bu cevabı burada görmek harika olurdu.
xer0x

Yanıtlar:


7

Bir SIGINT mevcut tamamlanma işlemi kesilir ve tekrar çizgi editörü getirir. Bu yüzden Ctrl+ tuşuna basın C. Etki hemen olmayabilir: yorumlayıcı yalnızca yürütme sırasında belirli noktalardaki sinyalleri kontrol eder (sık sık olsa da) ve zsh işlemi bir sistem çağrısında engellenirse sinyal biraz zaman alabilir (örneğin, bir dosya sisteminin yanıt vermesini beklemek).

Maalesef, Ctrl+ tuşuna Cyanlış zamanda basarsanız ve sinyal gönderildiğinde tamamlanmadıysa, geçerli komut satırınız iptal edilir. Bu, biri tamamlama diğeri geri kalanı için olmak üzere iki farklı kesme anahtarına sahip olmadan düzeltmek zordur ve zsh'ın bunu destekleyip desteklemediğinden emin değilim.

Bir tamamlamanın uzun zaman alması durumunda sizi uyarmak gerçekten mümkün değildir. Bir tamamlama işlevinin hızı genellikle, bazı bilgilerin dosya sisteminden okunabilme hızı tarafından yönlendirilir; bu bilginin önbellekte olup olmadığı, ne kadar olduğu ve ne tür bir dosya sisteminin (örneğin ramdisk, sabit disk veya NFS montajı) büyük etkisi vardır.


1
Sekmenin tamamlanması için yapılandırılabilir bir zaman aşımı mantıklı bir varsayılan değer olabilir.
antiduh

3

Otomatik tamamlamayı iptal etmek için ctrl+ kdüğmesini kullanabilirsiniz . Ancak ben zsh kılavuzdan herhangi bir bilgi bulamıyorum , ancak otomatik tamamlama iptal eder.

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.