2010-07-23 17 views
18

Je viens de migrer vers Zsh à partir de Bash, mais j'ai un peu de problème. Dans bash sur un système Ubuntu, lorsque je tape le nom d'une commande qui n'existe pas, Bash recherche un nom de commande correspondant dans la base de données apt et imprime les noms de paquets qui fournissent cette commande. C'est une fonctionnalité très utile, donc je me demandais si quelque chose comme ça pouvait être implémenté dans Zsh en utilisant un script ou quelque chose comme ça?Suggestion de package Zsh

Voici un exemple:

$>xmms2 
The program 'xmms2' is currently not installed. You can install it by typing: 
sudo apt-get install xmms2-client-cli 

Ou si la commande est une correspondance exacte:

$>xmms 
No command 'xmms' found, did you mean: 
Command 'lmms' from package 'lmms' (universe) 
Command 'xmms2' from package 'xmms2-client-cli' (universe) 
Command 'xmds' from package 'xmds' (universe) 
Command 'xdms' from package 'xdms' (universe) 
+0

Appartient sur superuser.com –

+0

ahh o k désolé à ce sujet, je suis nouveau ici :) –

+0

@Paul R si ce paquet n'existe pas que n'est-ce pas une question de programmation? @gastly Si vous trouvez la source du script qui fait ce tour, je peux le porter sur zsh. – ZyX

Répondre

11

Comme suggéré par Michał Politowski, je vais répondre à ma propre question et la marquer comme résolu :)

Pour obtenir cette fonctionnalité dans zsh, installez un paquet nommé "command-not-found" (qui ne concerne pas les autres distributions, mais dans Ubuntu, il se trouve dans les dépôts).

REMARQUE: Dans Ubuntu 12.04, ce package est installé par défaut.

sudo apt-get install command-not-found

Et alors vous devrez modifier votre .zshrc puis source dans le fichier/etc/zsh_command_not_found en ajoutant la ligne suivante dans votre .zshrc

Source/etc/zsh_command_not_found

+2

Juste pour être clair. J'avais déjà une commande non-trouvée et tout ce dont j'avais besoin était: to.zshrc 'source/etc/zsh_command_not_found' – Sam