Existe-t-il un moyen d'obtenir une sortie colorée lors de l'utilisation de la tabulation dans un terminal? Mes couleurs sont bien partout ailleurs, donc je sais que j'ai réussi à activer un terminal couleur.
Utilisation de bash dans Ubuntu (10.10).
Existe-t-il un moyen d'obtenir une sortie colorée lors de l'utilisation de la tabulation dans un terminal? Mes couleurs sont bien partout ailleurs, donc je sais que j'ai réussi à activer un terminal couleur.
Utilisation de bash dans Ubuntu (10.10).
Réponses:
Il n'y a pas de fonction dans Bash pour colorer la sortie pendant l'achèvement comme il y en a dans le poisson et le zsh. On pourrait écrire des fonctions de complétion qui produisent des séquences de contrôle des couleurs, mais il faudrait conserver des copies des compléments proposés avec et sans codes de couleur ou les supprimer lorsque l'utilisateur fait une sélection car Bash utilise la sélection directement normalement et les codes de couleur le feraient gêner.
Si c'est une fonctionnalité importante pour vous, je vous recommande d'envisager d'utiliser zsh.
Mise à jour
Bash 4.3 readline ajoute une variable qui permet à la couleur pour la complétion de l'onglet d'afficher différentes couleurs pour les fichiers exécutables, les répertoires, etc., pendant la complétion de la tabulation:
colored-stats
Readline dans le prochain Bash 4.4 ajoute une variable qui permet à la couleur d'indiquer la partie correspondante de la chaîne lors de la complétion de l'onglet.
colored-completion-prefix
Vous pouvez voir les valeurs de ces variables en utilisant
bind -v | grep color
Pour les définir, ajoutez des lignes à votre ~/.inputrcfichier telles que:
set colored-stats on
LS_COLORSvariable d'environnement." La documentation de cette variable est ici . Il n'y a pas de paramètre pour les manpages, vous devrez donc regarder où votre LS_COLORSjeu est défini et trouver la combinaison de couleurs qui correspond et la changer. Sur mon système, les mannoms de page ne sont pas colorés lorsqu'ils sont complétés par des tabulations (et des liens symboliques cassés, alors qu'ils apparaissent en rouge sur gris en lssortie, ...
bind -v | grep colordeux set colored-completion-prefix onet set colored-stats on? Si oui, que se passe-t-il lorsque vous tapez la lettre a, puis appuyez deux fois sur tab? Si vous avez ajouté les paramètres à votre ~/.inputrcmais n'avez pas démarré de nouveau terminal ou n'avez pas exécuté re-read-init-fileen appuyant sur control-x control-r, les paramètres n'auront pas pris effet.
Je ne connais pas les couleurs de complétion pour les options de commande et les arguments mais pour le nom de fichier et les répertoires, selon ( /unix//a/133866 ) user495470 indique que dans Bash 4.3 et versions ultérieures, vous pouvez ajouter set colored-stats onà ~/.inputrcpour obtenir la couleur achèvement quand vous le faites ls <tab>.