ZShell में 16 रंग


11

मैं केवल अपने zshell प्रॉम्प्ट में 8 रंगों को कॉल करने में सक्षम प्रतीत होता हूं।

उदाहरण:

PROMPT="[%n@%{$fg[magenta]%}%m%{$reset_color%} %.]
%# "

ठीक काम करता है। तथापि,

PROMPT="[%n@%{$fg[brmagenta]%}%m%{$reset_color%} %.]
%# "

काम नहीं करता है। मूल रूप से, "उज्ज्वल" रंग रूपों में से कोई भी प्रकट नहीं होता है।

कुछ शोध करने के बाद, मैंने पाया कि ज़ीश के रंगों को "रंग" सेटटॉप कहा जाता है।

करते हुए

echo ${(o)color}

पैदावार इस उत्पादन:

00 01 02 03 04 05 07 08 22 23 24 25 27 28 30 30 30 30 31 31 32 32 33 33 34 34 35 35 36 36
37 37 39 39 40 40 41 42 43 44 45 46 47 49 bg-black bg-blue bg-cyan bg-default bg-green
bg-magenta bg-red bg-white bg-yellow black blink blue bold conceal cyan default faint green
magenta no-blink no-conceal no-reverse no-standout no-underline none normal red reverse
standout underline white yellow

जैसा कि आप देख सकते हैं, केवल मानक 8 रंग उपलब्ध हैं। मैंने "बीजी" वेरिएंट का उपयोग करने की कोशिश की है, जो आउटपुट को डिफ़ॉल्ट टेक्स्ट रंग के रूप में भी छोड़ देता है।

कोई भी मदद जो आप प्रदान कर सकते हैं, बहुत सराहना की जाएगी। मैं, ज़ाहिर है, बस सामान्य रंगों में से एक का उपयोग कर सकता हूं, लेकिन फिर मैं कुछ नहीं सीखूंगा!

जवाबों:


9

आप किस टर्मिनल एमुलेटर का उपयोग कर रहे हैं? आप चलाकर समर्थित रंगों की संख्या की जांच कर सकते हैं echotc Co। उदाहरण के लिए, मेरा urxvt88 रंगों का समर्थन करता है, लेकिन xtermकेवल 8 का समर्थन करता है, और उज्ज्वल विविधताएं शामिल नहीं हैं।

अगर मैं इसे urxvtप्राप्त करता हूं तो मैं इसे प्राप्त करता हूं:

# Dark magenta/violet:
PS1="[%F{34}%n%F{reset}@%F{magenta}%m%F{reset} %.] " 
# Bright Thistle purple:
PS1="[%F{54}%n%F{reset}@%F{magenta}%m%F{reset} %.] "

सूत्रों का कहना है: man zshall


4

आप जिन "रंगों" के बारे में बात कर रहे हैं, वे केवल एक रूप में भागने के क्रम हैं \e[{color_code}m। Zsh फ़ंक्शन colorsतब और कुछ नहीं करता है जब टर्मिनल से बचने के क्रम में मानव-पठनीय रंग नामों की मैपिंग में कुछ zsh साहचर्य सरणी चर जोड़े जाते हैं। इस प्रकार आप या तो सीधे उपयोग कर सकते हैं

PS1=%{$'\e[54m'%}...

या @Mischa Arefiev के उत्तर को आज़माएं, यह अधिक पठनीय है। ध्यान दें कि सीक्वेंस से बचकर किसी भी शेल में काम करते हैं, जबकि कंस्ट्रक्शन जैसे %F{54}...काम केवल zsh में होते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.