Wie kann das Zeitlimit für die Tab-Vervollständigung in zsh angegeben werden?


8

Die Vervollständigungsfunktion von Zsh ist bis auf diese großartig. Wenn ich versuche, in einem Ordner mit vielen Dateien / Netzwerkordnern fertig zu werden, dauert es einige Minuten und druckt diesen Fehler aus.

example.com:~$ ls /path/to/some/bigFolder/[TAB]
zsh: do you wish to see all 620 possibilities (124 lines)?

Gibt es stattdessen eine Möglichkeit, ein Zeitlimit anzugeben, nach dem zsh nicht versuchen sollte, automatisch zu vervollständigen? Ich kann die Suche auch nicht abbrechen.


1
+1 Gute Frage. Ich wäre neugierig auf dasselbe in Bash.
Rozcietrzewiacz

Antworten:


2

Ctrl-Csollte den Abschluss abbrechen. Wenn dies nicht der Fall ist, besteht kaum eine Chance, dass etwas anderes dies tun würde.


-1

Sie können einen benutzerdefinierten Vervollständiger schreiben, der einen Timer / eine Zeitüberschreitung implementiert, aus den zsh-FAQ, Abschnitt 4
4.5: Wie fange ich mit der programmierbaren Fertigstellung an?

Paraphrasierung der FAQ

Die Hauptressource ist die Handbuchseite von zshcompsys .
... oder kopieren Sie eine der vielen vorhandenen Funktionen.


sollte ich also das gesamte Abschlusssystem für eine Timeout-Funktion neu schreiben? Hat das schon jemand gemacht?
Balki

nicht umschreiben, anpassen. Und wenn Sie "eine der sehr vielen vorhandenen Funktionen" nicht finden können
bsd

Wie viele Dateien haben Sie in einem Verzeichnis? Rufen Sie compinit in Ihrer .zshrc-Datei auf?
BSD

Diese Antwort wäre hilfreich, wenn Sie zeigen würden, wie Sie das Abschlusssystem so anpassen, dass eine Zeitüberschreitung auftritt. Ich sehe keine relevante zstyleEinstellung in der zshcompsysManpage. Tatsächlich bezweifle ich, dass es möglich ist: Ich glaube nicht, dass Sie zsh unterbrechen können, während es einen Glob erweitert, was hier blockiert.
Gilles 'SO - hör auf böse zu sein'
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.