¿Cómo puedo configurar el color del directorio 'ls' en zsh?

20

Estoy usando 'zsh'. En algún directorio, cuando hago 'ls --color = tty'. Veo que algunos directorios tienen 'texto azul' con 'fondo verde', lo que los hace difíciles de leer.

¿Me puede decir cómo configurar esto?

Gracias.

Miguel
fuente

Respuestas:

29

Suponiendo que está utilizando GNU ls, puede especificar los colores con la variable de entorno LS_COLORS (tenga en cuenta que esta es una lscaracterística de GNU y no específica de zsh).

GNU Coreutils tiene un programa llamado dircolorspara ayudarlo a convertir un archivo de configuración fácil de editar en una variable LS_COLORS adecuada (complicada). Consulte man dircolorsel comando y man dir_colorsla sintaxis del archivo de configuración.

Usted puede

  1. use dircolors --print-database >! dircolors.defaultpara guardar los valores predeterminados (contiene texto explicativo) y luego modifíquelo.
  2. Google para archivos de dircolors preconfigurados elegantes (como este https://github.com/seebi/dircolors-solarized (no tengo ninguna relación con esto)).

Una vez hecho esto, dircolorsdeberá convertirlo en un LS_COLORS adecuado. Tenga dircolorsen cuenta que las salidas en formato bash y csh, para que zshusted use la bashsalida con formato.

PD: uso en ls --color=autolugar de ls --color=tty.

Francisco
fuente
Esto no es cierto para los colores personalizados. LS_COLORno funciona por defecto en zsh por alguna razón. Ver los numerosos otros mensajes quejándose de esto: 1) superuser.com/questions/700406/zsh-not-recognizing-ls-colors 2) github.com/robbyrussell/oh-my-zsh/issues/5349
Charlie Parker