Como posso configurar a cor do diretório 'ls' no zsh

20

Eu estou usando 'zsh'. Em algum diretório, quando eu faço 'ls --color = tty'. Vejo alguns diretórios com 'texto azul' com 'fundo verde', o que os torna difíceis de ler.

Você pode me dizer como configurar isso?

Obrigado.

Michael
fonte

Respostas:

29

Supondo que você esteja usando o GNU ls, você pode especificar as cores com a variável de ambiente LS_COLORS (observe que esse é um lsrecurso do GNU e não é específico do zsh).

O GNU Coreutils possui um programa chamado dircolorspara ajudá-lo a converter um arquivo de configuração fácil de editar em uma variável LS_COLORS adequada (complicada). Consulte man dircolorso comando e man dir_colorsa sintaxe do arquivo de configuração.

Você pode

  1. use dircolors --print-database >! dircolors.defaultpara salvar os padrões (ele contém algum texto de explicação) e modifique-o.
  2. Google para arquivos dircolors pré-configurados sofisticados (como este https://github.com/seebi/dircolors-solarized (não tenho relação com isso)).

Uma vez feito, você precisará dircolorstransformar isso em um LS_COLORS adequado. Observe que as dircolorssaídas nos formatos bash e csh, pois zshvocê deve usar a bashsaída-formatada.

PS: Use em ls --color=autovez de ls --color=tty.

Francisco
fonte
isso não é verdade para cores personalizadas. LS_COLORnão funciona por padrão no zsh por algum motivo. Veja as inúmeras outras postagens queixam-se disso: 1) superuser.com/questions/700406/zsh-not-recognizing-ls-colors 2) github.com/robbyrussell/oh-my-zsh/issues/5349
Charlie Parker