Comment puis-je obtenir différentes couleurs pour les répertoires, etc. dans iTerm2?

23

J'ai un nouveau MacBookPro et j'ai installé la dernière version de iTerm2.

Même après avoir importé divers jeux de couleurs, je constate qu'ils ne font que modifier la couleur du texte et de l'arrière-plan.

Ce que je m'attendais à voir, c’est des couleurs différentes pour les fichiers répertoires VS, fichiers cachés VS, etc. Comment puis-je faire cela sur iTerm2?

Une question connexe est: comment puis-je spécifier ce que je veux que les couleurs des répertoires, fichiers, etc. soient?

Merci

Spacey
la source
Merci @JohnN, cela a aidé, mais s'il vous plaît voir mon édition.
Spacey

Réponses:

23

Vous devez faire deux choses:

  • définir la LSCOLORSvariable d'environnement
  • créer un alias pour lsqu'il affiche les couleurs par défaut

Dans votre ~/.bash_profileajouter ce qui suit:

export LSCOLORS="EHfxcxdxBxegecabagacad" 

alias ls='ls -lGH'        <-----This shows in list format, follow symlinks colorized

Les couleurs sont définies par chaque bit ci-dessus; le premier étant le premier plan et le second étant le fond. Les deux premiers caractères font référence à des répertoires ayant un avant-plan bleu gras et un arrière-plan gris clair.

Cependant, il existe un excellent utilitaire en ligne pour voir ce que chacune des couleurs signifie et ressemble en temps réel. Il va même générer le "code" pour vous. (Je ne suis pas affilié à cela du tout). Cela fonctionnera sous MacOS / FreeBSD et Linux. Assurez-vous de sélectionner l'option BSD pour macOS.

Calculatrice LSCOLORS


L'ordre des attributs est le suivant:

1. annuaire
2. lien symbolique
3. prise
4. tuyau
5. exécutable
6. bloc spécial
7. caractère spécial
8. exécutable avec setuid bit set
9. exécutable avec setgid bit set
10. répertoire accessible en écriture pour les autres, avec sticky bit
11. répertoire accessible en écriture pour les autres, sans sticky

Les indicatifs de couleur sont les suivants:

un noir
b rouge
c vert
d marron
e bleu
f magenta
g cyan
h gris clair
Un noir audacieux, généralement gris foncé
B gras rouge
C gras vert
D gras brun, apparaît généralement comme jaune
E gras bleu
F gras magenta
G audacieux cyan
H gras gris clair; ressemble à un blanc éclatant
x avant-plan ou arrière-plan par défaut
Allan
la source
Salut Allan, merci! Quelques questions, pouvez-vous expliquer un peu plus à propos de i) Pourquoi je dois le mettre dans .bash_profile et ne pas dire, le .zshrc je pense que c'était, et ii) un peu plus à propos de la partie export de LSCOLORS? Dois-je aller sur le site que vous avez mentionné et définir mon jeu de couleurs à partir de là? Comment cela se passe-t-il avec les schémas de couleurs de iterm2? Merci!
Spacey
C’est peut-être ce qui m’embrouille: j’utilise iterm2. Qu'est-ce que cela signifie pour quel fichier nous changeons? (.bash_profile VS .zshrc)? Pour ce que ça vaut, sur cette nouvelle machine, je n'ai actuellement aucun des deux ...
Spacey
Ah, ok, l'écho montre bash. Je devrais donc créer un nouveau fichier ~ / .bash_profile, car aucun n’existe.
Spacey
4

Une alternative à GRCLSCOLORS est le GeneRic Colouriser , qui peut être utilisé avec à peu près n'importe quelle application en ligne de commande, pas seulement ls.

Si Homebrew est installé, installez-le grcavec brew install grc- cela configurera automatiquement les alias, y compris pour ls. Il contient des alias et des fichiers de configuration pour de nombreuses commandes différentes. Il est (relativement) trivial de pirater un fichier de configuration à l'aide d'expressions régulières Python pour toute commande qui grcne couvre pas actuellement ( tmutilet launchctl, par exemple).

(J'allais ajouter ceci à la question que j'avais signalée comme une dupe possible, mais avec votre modification, c'est probablement plus utile ici!)

John N
la source
J'ai installé grc et ls n'était pas du tout colorisé. 'type ls' donne '/ bin / ls', rien d'alias. Retour à la solution de profil bash je suppose.
6005
@ 6005, avez-vous installé GRC avec brew? (Et a-t-il été installé avec succès, sans erreur?) Qu'est-ce qui brew doctorsignale - des problèmes? Quel shell utilisez-vous et avez-vous modifié la configuration du shell? Vous devrez peut-être modifier votre .bash_profileconfiguration (ou la configuration de votre shell, quelle qu'elle soit) pour obtenir les alias GRC. Mon .bash_profilea ceci (bien que je l'ajoute moi-même - ma configuration de bash est assez ésotérique ...):[ -f /usr/local/etc/grc.bashrc ] && . /usr/local/etc/grc.bashrc
John N
3

Ouvrez bash_profile en utilisant la commande:

open ~/.bash_profile

et ajoutez les lignes suivantes:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

puis source bash_profile en utilisant:

source ~/.bash_profile
KayV
la source
KayV qu'est-ce que cela fait exactement? Pouvez-vous développer s'il vous plaît?
TheGrapeBeyond