この最小限の.zshrcを検討してください:
export CLICOLOR=1;
export LSCOLORS=exfxcxdxbxegedabagacad; # It is the default value on OSX, so this line can be omitted
autoload -Uz compinit
compinit
zstyle ':completion:*' list-colors 'exfxcxdxbxegedabagacad'
OS Xでは、ls
がTRUEに設定され、使用される色がCLICOLOR
にある場合、LSCOLORS
は色を使用します。デフォルト値はexfxcxdxbxegedabagacad
です。
ls
を実行すると、ディレクトリが青色で印刷されます。しかし、cd + TAB
、ZSHは赤と太字のディレクトリで補完を提案します。何が問題で、ZSH補完とls
に同じ色を使用するにはどうすればよいですか?
手順を注意深く読む必要があります:zsh
は処理方法を知っていますLS_COLORS
、これはls
カラー構成のGNU/Linuxバリアントですが、OSX/BSDのLSCOLORS
を使用します。それらは非常に異なり、zsh
は後者の処理方法を知らないようです。
LSCOLORS
赤の出力の例:
bbbbbbbbbbbbbbbbbbbbbb
LS_COLORS
赤の出力の例:
di=31;41:ln=31;41:so=31;41:pi=31;41:ex=31;41:bd=31;41:cd=31;41:su=31;41:sg=31;41:tw=31;41:ow=31;41:
例: このツール ( Githubでも )素敵な配色を作成するか、使用する配色を再作成し、その出力をLinuxにコピーしますLS_COLORS
、次を使用して色を設定します。
# between quotation marks is the tool output for LS_COLORS
export LS_COLORS="di=31;41:ln=31;41:so=31;41:pi=31;41:ex=31;41:bd=31;41:cd=31;41:su=31;41:sg=31;41:tw=31;41:ow=31;41:"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}