Annuler l'achèvement de l'onglet zsh

Existe-t-il un moyen d'annuler un achèvement une fois qu'il a été démarré? J'appuie parfois follement la tabulation pour remplir automatiquement des cibles (seulement par pure indolence) et finir par devoir attendre plus longtime que si je venais de dactylographier l'set de "installer" ou "vérifier" moi-même.

Je n'ai rien vu de notable dans la page de zshzle man, mais peut-être j'ai manqué quelque chose? Est-ce que d'autres coquilles ont cette capacité?

EDIT : Réponse sortingviale. Donc, à la place: existe-t-il un moyen pour zsh d'estimer que l'exécution de l'onglet prendrait un time relativement long à s'exécuter et requestrait plutôt si l'user souhaite que cela soit fait?

Un SIGINT interrompt l'opération d'achèvement en cours et vous ramène à l'éditeur de ligne. Alors appuyez sur Ctrl + C. L'effet peut ne pas être immédiat: l'interpréteur vérifie les signaux à certains moments de l'exécution (ils sont fréquents) et le signal peut prendre un certain time si le process zsh est bloqué dans un appel système (par exemple, en attente d'un système de files pour répondre).

Malheureusement, si vous appuyez sur Ctrl + C au mauvais moment et qu'il n'y a pas de complétion en cours au moment de la livraison du signal, votre command line actuelle sera annulée. Ceci est difficile à corriger sans avoir deux keys d'interruption différentes, une pour l'achèvement et une pour le rest, et je ne suis pas sûr si zsh le supporte.

Il n'est pas vraiment possible de vous avertir si une complétion peut prendre du time. La rapidité d'une fonction d'achèvement dépend souvent de la vitesse à laquelle certaines informations peuvent être lues à partir du système de files; que cette information soit dans le cache ou pas, combien il y a, et quel type de système de files il est (par exemple disque virtuel, disque dur ou assembly NFS) a beaucoup d'influence.