No ZSH, quando estou tentando cd
entrar em um diretório e usar tab para obter a lista de diretórios, alguns deles têm um destaque verde muito brilhante. Percebi que o realce do plano de fundo é o mesmo dos diretórios em ls
. Mudei LS_COLOR
na esperança de que isso resolvesse o problema, mas o destaque do preenchimento automático permanece o mesmo. Eu verifiquei as chaves/configurações de conclusão do zstyle também, mas não encontrei nenhuma para diretórios lá. Alguém poderia me ajudar a consertar isso?
Obrigado
EDIT: Aqui está um link para o meu .zshrc
arquivo:https://dpaste.org/V8oE
EDIT2: Consegui resolver isso alterando o tema no meu terminal (Konsole). Não acho que tenha sido problema do ZSH.
Responder1
A conclusão colorida do zsh é configurada com o list-colors
zstyle (veja info zsh list-colors
detalhes).
Seu ~/.zshrc
ou qualquer outro arquivo de personalização chamado pode ter algo como:
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
Para que isso seja baseado no conteúdo da $LS_COLORS
variável (para que você obtenha as mesmas cores nas conclusões zsh e na ls --color
saída GNU).
$LS_COLORS
é a variável usada pelo GNU ls
e geralmente é definida por uma chamada para algo como:
eval "$(dircolors --sh ~/.dircolors)"
(talvez anteriormente em seu ~/.zshrc
, ou em seu ~/.zprofile
).
Em
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
no entanto, o $LC_COLORS
é expandido e dividido em:
na época ~/.zshrc
é interpretado.
Se você alterar $LS_COLORS
, esse zstyle
comando não será executado novamente automaticamente, e se você o originar ~/.zshrc
novamente após modificar $LS_COLORS
, é possível que o dircolors
comando que se regenera $LS_COLORS
com base na configuração armazenada ~/.dircolors
também seja executado novamente, substituindo suas modificações.
Então aqui, o que você precisa fazer é:
- descubra onde o
list-colors
zstyle está definido em seus arquivos de inicialização - se for baseado em
$LS_COLORS
, descubra como isso$LS_COLORS
está sendo definido e corrija. E se não, ajuste essa chamada parazstyle
corresponder às suas preferências de cores.