터미널은 ls 및 cd 명령에 대한 사용자 정의 색상으로 .zshrc를 제공하지 않습니다.

터미널은 ls 및 cd 명령에 대한 사용자 정의 색상으로 .zshrc를 제공하지 않습니다.

ls및 +에 대한 cd디렉토리 및 파일 색상을 사용자 정의했습니다 TAB. 이것이 내 구성입니다.


내 구성

내 시스템 환경.

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

내 .zshrc는 $HOME에 있습니다.

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

~/.oh-my-zsh/custom/completion.zsh의 사용자 정의 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

~/.oh-my-zsh/custom/theme-and-appearance.zsh의 사용자 정의 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:'

문제 설명.

처음 터미널을 열면 3개의 파일이 나옵니다. .zshrc등장하지만 참고하세요아니요및 해당 경로 또는 파일 이름.

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

ls명령을 사용하면 디렉터리 목록이 예상한 대로 표시됩니다. 그러나 cd명령을 사용 하고 TAB디렉토리 색상을 자동 완성하면 디렉토리 색상이 ls.

그런 다음 구성을 다시 가져옵니다. 이번에는 .zshrc전체 경로와 파일 이름이 표시됩니다. 이로 인해 여기에 설명된 문제가 발생하는지 잘 모르겠습니다.

$ . ~/.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.

이제 + ls와 동일한 색상을 사용하십시오 .cdTAB


질문

터미널 애플리케이션을 열 때 사용자 정의 컨텐츠가 즉시 로드되도록 구성을 어떻게 변경합니까?

답변1

문제는 파일이 소스되는 순서입니다. LS_COLORS실행하기 전에 정의해야 합니다 zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}.

파일 이름 00theme-and-appearance.zsh01completion.zsh.

관련 정보