ZSHの完了色とOS X


26

この最小限の.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場合の使用色CLICOLORTRUEに設定すると色が使用されているがにあるLSCOLORSデフォルト値です exfxcxdxbxegedabagacad

を実行するlsと、ディレクトリが青で印刷されます。ただし、実行するとcd + TAB、ZSHはディレクトリを赤と太字で補完することを提案します。問題は何lsですか?また、ZSHの完了に同じ色を使用するにはどうすればよいですか?

macos  shell  colors  zsh 

回答:


28

指示を注意深く読む必要があります: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でも)を使用して、素敵なカラースキームを作成するか、使用するカラースキームを再作成し、その出力をLinuxLS_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}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.