2016-03-15 1 views

Répondre

3

La réponse courte est oui, ou bien sûr il peut.

Pour activer le système d'achèvement de zsh, vous devez faire ce qui suit - probablement dans un fichier de démarrage comme votre ~/.zshrc:

autoload -U compinit && compinit 

Sur la plupart des systèmes Unix modernes, une fois que vous faites cela, vous devriez trouver que beaucoup de commandes ont déjà leurs drapeaux et leurs paramètres terminés, car zsh est livré avec une bibliothèque de fonctions d'achèvement pour les commandes et les utilitaires Unix courants. Cette bibliothèque doit être installée dans un emplacement tel que /usr/local/share/zsh/function (ou similaire, selon votre système) et consiste en un ensemble de scripts avec des noms de fichiers commençant par un caractère _, chacun définissant l'achèvement d'une commande spécifique.

Si une commande ou un utilitaire qui vous intéresse est pas encore correctement complété par zsh, vous avez plusieurs options:

  • Regardez dans le paquet zsh-completions. (Il peut très bien être installé par le gestionnaire de paquets de votre système d'exploitation ou de votre distribution.)

  • Lisez la documentation de l'outil que vous souhaitez compléter. De nombreux utilitaires Unix sont livrés avec des scripts d'achèvement pour bash et/ou zsh, ou avec un moyen de générer des scripts d'achèvement. Si tout échoue, lisez le documentation on zsh’s completion system (ou trouvez un bon livre ou un didacticiel en ligne) et écrivez-le vous-même. Cela peut - évidemment - être non-trivial!

lecture que la documentation zsh pourrait aussi vous montrer comment faire d'autres choses que vous savez peut-être même pas encore que vous voulez, comme tourner à la fin à base de menus.

+2

Une petite addition qui vaut probablement la peine de citer directement zsh-completions est 'compdef _gnu_generic ' qui analyse la sortie '--help' de la commande pour assembler la complétion. – pseyfert

+0

Merci @wjv - Je crois que j'ai eu un problème avec 'compinit' dans mon' .zshrc'. Cela fonctionne comme prévu maintenant. – Sasgorilla

+0

@Sasgorilla Bon, heureux de l'entendre. – wjv