Comment puis-je configurer la couleur du répertoire 'ls' sous zsh

20

J'utilise 'zsh'. Dans certains répertoires, quand je fais 'ls --color = tty'. Je vois que certains répertoires ont un «texte bleu» avec un «fond vert», ce qui les rend difficiles à lire.

Pouvez-vous me dire comment configurer cela?

Je vous remercie.

Michael
la source

Réponses:

29

En supposant que vous utilisez GNU ls, vous pouvez spécifier les couleurs avec la variable d'environnement LS_COLORS (notez qu'il s'agit d'une lsfonction GNU et non spécifique à zsh).

GNU Coreutils a un programme appelé dircolorspour vous aider à convertir un fichier de configuration facile à éditer en une variable LS_COLORS appropriée (compliquée). Voir man dircolorspour la commande et man dir_colorspour la syntaxe du fichier de configuration.

Vous pouvez

  1. utiliser dircolors --print-database >! dircolors.defaultpour enregistrer les valeurs par défaut (il contient du texte d'explication), puis le modifier.
  2. Google pour les fichiers de dircolors préconfigurés de fantaisie (comme ce https://github.com/seebi/dircolors-solarized (je n'ai aucun lien avec cela)).

Une fois cela fait, vous devrez dircolorstransformer cela en un LS_COLORS approprié. Notez que les dircolorssorties aux formats bash et csh, car zshvous devez utiliser la bashsortie au format.

PS: utilisez ls --color=autoau lieu de ls --color=tty.

Francisco
la source
ce n'est pas vrai pour les couleurs personnalisées. LS_COLORne fonctionne pas par défaut sur zsh pour une raison quelconque. Voir les nombreux autres articles qui s'en plaignent: 1) superuser.com/questions/700406/zsh-not-recognizing-ls-colors 2) github.com/robbyrussell/oh-my-zsh/issues/5349
Charlie Parker