ZSH समापन रंग और ओएस एक्स


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 रेड और बोल्ड में निर्देशिकाओं के साथ पूर्णता का प्रस्ताव देगा। समस्या क्या है और ZSH के पूरा होने के लिए मेरे पास समान रंग कैसे हो सकते हैं ls?

macos  shell  colors  zsh 

जवाबों:


28

आपको निर्देशों को ध्यान से पढ़ने की आवश्यकता है: zshजानता है कि कैसे संभालना है LS_COLORS, जो कि जीएनयू / लिनक्स lsरंग विन्यास का संस्करण है , लेकिन आप 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:

एक अच्छा रंग योजना बनाने के लिए इस उपकरण का उपयोग करें ( जीथूब पर भी ), या आपके द्वारा उपयोग किए जाने वाले को फिर से बनाएँ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}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.