O terminal não obtém o .zshrc com cores personalizadas para o comando ls e cd

2

Eu personalizei as cores de diretório e arquivo para ls e cd + TAB . Aqui está minha configuração.

Minha configuração

Meu ambiente de sistema.

Ubuntu 10.10
zsh 4.3.10 (x86_64-unknown-linux-gnu)
oh-my-zsh // http://git://github.com/robbyrussell/oh-my-zsh.git
Terminal

Meu .zshrc em $ HOME.

// .zshrc
echo "Sourcing $0."
ZSH=$HOME/.oh-my-zsh
ZSH_THEME="josh"
source $ZSH/oh-my-zsh.sh

Um script zsh personalizado em ~ / .oh-my-zsh / custom / completion.zsh

// completion.zsh
echo "Sourcing $0."
# Same completion colors when using cd as with ls.
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*:*:*:*:*' menu yes select

Um script zsh personalizado em ~ / .oh-my-zsh / custom / theme-and-appearance.zsh

// theme-and-appearance.zsh
echo "Sourcing $0."
export LS_COLORS='di=1;34:ln=35:so=32:pi=0;33:ex=32:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=1;34:ow=1;34:'

A descrição do problema.

Quando abro o Terminal pela primeira vez, 3 arquivos são originados. Observe que .zshrc aparece, mas não com seu caminho nem nome de arquivo.

Sourcing zsh.
Sourcing /home/john/.oh-my-zsh/custom/completion.zsh.
Sourcing /home/john/.oh-my-zsh/custom/theme-and-appearance.zsh.

Usando o comando ls , a listagem de diretórios parece conforme o esperado. No entanto, quando eu uso o comando cd e TAB para o diretório de preenchimento automático, as cores não são iguais às de ls .

Então, eu faço a configuração novamente. Observe que, desta vez, .zshrc aparece com o caminho completo e o nome do arquivo. Não tenho certeza se isso contribui para o problema explicado aqui.

$ . ~/.zshrc 
Sourcing /home/john/.zshrc.
Sourcing /home/john/.oh-my-zsh/custom/completion.zsh.
Sourcing /home/john/.oh-my-zsh/custom/theme-and-appearance.zsh.

Agora, tanto ls como cd + TAB usam as mesmas cores.

Pergunta

Como devo alterar minha configuração para que a personalização seja carregada assim que eu abrir o aplicativo Terminal?

    
por JJD 05.02.2012 / 18:55

1 resposta

4

O problema está na ordem em que os arquivos são originados. LS_COLORS deve ser definido antes de executar zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} .

Você pode corrigir isso renomeando os arquivos para algo como 00theme-and-appearance.zsh e 01completion.zsh .

    
por 05.02.2012 / 20:05