Colori di completamento ZSH e OS X


26

Considera questo .zshrc minimo:

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'

Su OS X, lsusa i colori se CLICOLORè impostato su TRUE e i colori utilizzati sono in LSCOLORScui il valore predefinito è exfxcxdxbxegedabagacad.

Fare un lstestamento stampa le directory in blu. Ma quando lo fa cd + TAB, ZSH proporrà completamenti con directory in rosso e in grassetto. Qual è il problema e come posso avere gli stessi colori per il completamento di ZSH e ls?

macos  shell  colors  zsh 

Risposte:


28

Devi leggere attentamente le istruzioni: zshsa come gestire LS_COLORS, che è la variante GNU / Linux della lsconfigurazione del colore, ma usi OSX / BSD LSCOLORS. Sono molto diversi e sembra zshche non sappia come gestire quest'ultimo.

LSCOLORS esempio per l'output rosso:

bbbbbbbbbbbbbbbbbbbbbb

LS_COLORS esempio per l'output rosso:

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:

Usa ad esempio questo strumento ( anche su Github ) per creare una bella combinazione di colori o ricreare quello che usi, copia il suo output per LinuxLS_COLORS , quindi usa quanto segue per impostare i colori:

# 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}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.