Réponses:
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
dircolors --print-database >! dircolors.defaultpour enregistrer les valeurs par défaut (il contient du texte d'explication), puis le modifier.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.  
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