Zsh não reconhece as cores ls

6

Acabei de conhecer o Zsh e até agora estou gostando muito da personalização.

Eu uso a seguinte linha para configurar cores em .zshrc:

zstyle ':completion:*' list-colors ''

Isso me dá essas cores:

Noentanto,quandoeuusols(eualiasseissoparals-G)eureceboasseguintescores:

Existe uma maneira de tornar o Zsh list-colors igual ao ls ?

EDITAR:

Eu também tentei definir as cores para os padrões ls de man ls sem sucesso (as cores ainda aparecem da mesma forma que a primeira imagem):

zstyle ':completion:*' list-colors 'exfxcxdxbxegedabagacad'      
    
por carloabelli 12.01.2014 / 00:17

3 respostas

3

A maneira correta de configurar cores com o GNU ls é usar LS_COLORS (veja link ). Agora, supondo que você tenha LS_COLORS set, agora você deve usar

# Zsh to use the same colors as ls
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}  

BTW, os trabalhos acima. Pesquise list-colors no manual do Zsh (ou seja, man zshall ). Se você não conseguir fazer isso funcionar, tente executar isso (curta LS_COLORS para conveniência ...):

LS_COLORS='no=00;37:fi=00:di=00;33:ln=04;36:pi=40;33:so=01;35:bd=40;33;01:'
export LS_COLORS
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
    
por 27.01.2014 / 12:01
3

Acontece que zsh não gosta da maneira como ls armazena suas cores. Você precisa converter as cores em algo que zsh entenda.

zstyle ':completion:*' list-colors 'di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30'
    
por 12.01.2014 / 02:20
2

No meu caso, eu também tive que

export CLICOLOR=1

para obter ls para colorir sua saída, conforme documentado em man ls .

    
por 03.10.2016 / 23:16

Tags