जवाबों:
यहां एक संकेत दिया गया है कि कैसे लाल संकेत सेट करें:
PS1=$'\e[0;31m$ \e[0m'
जादू \e[0;31m
(लाल अग्रभूमि पर बारी) और \e[0m
(चरित्र विशेषताओं को बंद करें) है। इन्हें एस्केप सीक्वेंस कहा जाता है। अलग-अलग एस्केप सीक्वेंस आपको अलग-अलग परिणाम देते हैं, निरपेक्ष कर्सर पोजिशनिंग से, कलर करने के लिए, आपकी विंडो के टाइटल बार को बदलने में सक्षम होने के लिए और इसी तरह।
एस्केप सीक्वेंस पर अधिक जानकारी के लिए, ANSI एस्केप कोड पर विकिपीडिया प्रविष्टि देखें
इसे इसमें डालें ~/.zshrc
:
autoload -U colors && colors
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
समर्थित रंग:
red
, blue
, green
, cyan
, yellow
, magenta
, black
, और white
(से इस उत्तर ) विभिन्न कंप्यूटर विभिन्न मान्य विकल्प हो सकता है, हालांकि।
चारों ओर रंग कोड (और कोई अन्य गैर-मुद्रण योग्य वर्ण) %{....%}
। यह सही ढंग से काम करने के लिए पाठ रैपिंग के लिए है।
इसके अतिरिक्त, यहां बताया गया है कि आप यहां से डायरेक्टरी-ट्रिमिंग के साथ कैसे काम कर सकते हैं ।
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%(5~|%-1~/.../%3~|%4~) %{$reset_color%}%% "
zsh: colors: function definition file not found
%{...%}
अर्थ यह है कि सामग्री, एक शाब्दिक भागने अनुक्रम के रूप में व्याख्या की जाएगी जिससे कर्सर अनुक्रम प्रिंट करते समय नहीं होते चले जाते हैं। यदि आप इसका उपयोग नहीं करते हैं, तो रंग कोड वास्तव में कर्सर को स्थानांतरित कर सकते हैं और अवांछित प्रभाव पैदा कर सकते हैं। यह zshmisc man पेज के Visual Effects
सेक्शन में प्रलेखित है
Zsh रंगीन संकेतों के साथ आता है। प्रयत्न
autoload -U promptinit && promptinit
और फिर prompt -l
उपलब्ध संकेतों को सूचीबद्ध करता है, -p fire
"फायर" प्रॉम्प्ट का पूर्वावलोकन करता है, -s fire
इसे सेट करता है।
जब आप ऊपर के ऑटोलैड लाइन के नीचे एक प्रॉम्प्ट ऐड कुछ इस तरह से जोड़ने के लिए तैयार हों:
prompt fade red
मुझे नहीं लगता कि autoload -U colors && colors
अब इसकी आवश्यकता है और कोई बस कर सकता है:
PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "
फायरडूड के उत्तर के समान परिणाम प्राप्त करने के लिए । अधिक जानकारी के लिए ZSH प्रलेखन देखें ।
autoload -U colors && colors
autoload
।
autoload on
?
autoload -U colors
, तो इसका मतलब है कि आपके डिस्ट्रो में पहले से ही कुछ अन्य ज़ीश इनिशियलाइज़ेशन फ़ाइल है। आपको अभी भी इसे उन लिपियों में शामिल करना चाहिए जिन्हें आप दूसरों के साथ साझा करने का इरादा रखते हैं।
for i in {1..256}; do print -P "%F{$i}Color : $i"; done;
%F{118}
(1 से 256)$FG[018]
(1 से 256)$fg[magenta]
(मैजंटा, लाल, सफेद, पीला, काला, नीला, सियान, हरा)PS1='%(?.%F{green}.%F{green})%n@%m:%~%# %f'
PS1='%{$fg[gray]%}[%T][%n@%m%{$reset_color%}:%c%{$reset_color%}%{$fg[gray]%}$(git_prompt_info)]$(prompt_char)%{$reset_color%} '
चर परिभाषा (PS1 / PROMPT) को जोड़ने की आवश्यकता है ~/.zshrc
हम इसे तुरंत परीक्षण करने के लिए पीएस 1 चर को फिर से परिभाषित कर सकते हैं (परिवर्तन सहेजे नहीं जाते हैं)।
ऊपर ब्रायन ओकले के जवाब में एक गड़बड़ है क्योंकि यह पहले ही इंगित किया गया है और एंड्रयू मार्शल द्वारा पेश किया गया समाधान हालांकि यह गड़बड़ नहीं करता है, फिर भी यह इस्तेमाल किए गए रंगों पर बहुत अधिक अनुकूलन के लिए स्पष्ट नहीं करता है।
जैसा कि macOS कैटालिना अब से zsh के लिए डिफ़ॉल्ट शेल होने के लिए कहता है, मुझे लगता है कि कई और लोग अपने प्रॉम्प्ट को कस्टमाइज़ करना चाहते हैं और यहां उत्तर के लिए आ सकते हैं। इसलिए, मैंने सोचा कि मैं एक व्यापक सारांश देने और अन्य निकटता से संबंधित धारणाओं को छूने की कोशिश करूंगा जो अधिक अनुकूलन की अनुमति देते हैं।
विभिन्न रंगों के लिए 3-अंकीय कोड। सबसे पहले, यहां हम विभिन्न रंगों के लिए 3-अंकीय कोड पा सकते हैं: https://unix.stackexchange.com/a/124409/194343 । उदाहरण के लिए, 214 नारंगी रंग का कुछ प्रकार है।
अग्रभूमि और पृष्ठभूमि। अन्य महत्वपूर्ण जानकारी के लिए वह यह है कि एफ oreground और बक कश्मीर जमीन रंग एक परिभाषित कर सकते हैं कि वे क्या चाहते हैं के साथ एफ और कश्मीर क्रमशः। स्रोत दृश्य प्रभावों पर zsh मैनुअल है: http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Visual-effects
इसलिए, उदाहरण के लिए, निम्नलिखित दो आदेश
autoload -U colors && colors
export PS1="%F{214}%K{000}%m%F{015}%K{000}:%F{039}%K{000}%~%F{015}%K{000}\$ "
काले रंग की पृष्ठभूमि के साथ सफेद रंग में एक बृहदान्त्र द्वारा पीछा काले रंग की पृष्ठभूमि के साथ नारंगी में मेजबाननाम प्रस्तुत करें, काले पृष्ठभूमि के साथ चमकदार नीले रंग में वर्तमान काम कर रहे निर्देशिका के बाद, काले रंग की पृष्ठभूमि के साथ सफेद रंग में डॉलर के चिह्न के बाद।
अधिक संबंधित जानकारी नीचे दी गई है।
दाहिने हाथ की ओर शीघ्र सूचना। उदाहरण के लिए, टाइमस्टैम्प जोड़ना। Https://superuser.com/a/1251045/290299 देखें । बेशक, यह रंग-कोडित हो सकता है, उदाहरण के लिए कुछ हल्के नीले / बैंगनी-ईश रंग के साथ, जैसे:
RPROMPT="%F{111}%K{000}[%D{%f/%m/%y}|%@]"
के लिए रंग ls
। एलएस के लिए मैनुअल पढ़ने के बाद, उदाहरण के लिए ls
एक निम्नलिखित दो कमांड का उपयोग करने के लिए रंगों को सक्रिय कर सकता है :
export CLICOLOR=1
export LSCOLORS=gafacadabaegedabagacad
अंत में, एक अंतिम टिप्पणी के रूप में जिसे मैंने परीक्षण नहीं किया है क्योंकि मैं अपने कॉन्फ़िगरेशन से खुश हूं, एक अन्य एवेन्यू किसी के लिए मैकपोर्ट्सcoreutils
से पोर्ट स्थापित करने और फिर उपयोग करने के लिए हो सकता है (स्रोत: https://unix.stackexchange.com/a/174596 / 194343 )। (मैं भविष्य में इस अंतिम भाग को संपादित कर सकता हूं क्योंकि उपरोक्त सभी संबंधित टुकड़े हैं जो हर दिन के जीवन को अधिक मज़ेदार बनाते हैं और सामना करने में आसान होते हैं।)gdircolors
मैंने पाया है कि, zsh5 के साथ (डेबियन जेसी पर डिफ़ॉल्ट), वे सभी समाधान काम करते हैं:
$'\e[00m
$fg[white]
$fg{white}
अब, उनके पास एक समस्या है: वे कर्सर को स्थानांतरित करेंगे, जिसके परिणामस्वरूप जब (ऑटो-पूर्ण करने के लिए) टैबिंग के दौरान बदसूरत गिरावट आती है। समाधान बस के साथ बच दृश्यों को घेरने के लिए है %{FOOBAR%}
। यह जानने के लिए मुझे कुछ समय लगा। 2 और 3 समाधान के लिए लोडिंग colors
मॉड्यूल अनिवार्य है। 1 समाधान को पठनीय रखने के लिए, आपके द्वारा उपयोग किए जाने वाले रंगों के लिए बस चर को परिभाषित करें।
मेरे पसंदीदा की कोशिश करो: में डाल दिया
~/.zshrc
यह रेखा:
PROMPT='%F{240}%n%F{red}@%F{green}%m:%F{141}%d$ %F{reset}'
मत भूलना
source ~/.zshrc
परिवर्तनों का परीक्षण करने के लिए
आप निश्चित रूप से रंग / रंग कोड बदल सकते हैं :-)
मैन zshall और PROMPT विस्तार के लिए खोज
यहां मौजूदा उत्तरों को पढ़ने के बाद, उनमें से कई परस्पर विरोधी हैं। मैंने zsh 4.2 और 5+ पर चलने वाले सिस्टम पर विभिन्न तरीकों की कोशिश की है और पाया है कि इन उत्तरों के परस्पर विरोधी होने का कारण यह है कि वे यह नहीं कहते हैं कि ZSH के किस संस्करण को वे लक्षित करते हैं। विभिन्न संस्करण इसके लिए अलग-अलग सिंटैक्स का उपयोग करते हैं और उनमें से कुछ को विभिन्न ऑटोलॉड्स की आवश्यकता होती है।
तो, सबसे अच्छा शर्त शायद आदमी zshall है और PROMPT विस्तार के लिए खोज करने के लिए zsh के अपने विशेष स्थापना के लिए सभी नियमों का पता लगाएं। टिप्पणियों में ध्यान दें, "मैं उबंटू 11.04 या 10.4 या ओएसएक्स का उपयोग करता हूं" जैसी चीजें बहुत सार्थक नहीं हैं क्योंकि यह स्पष्ट नहीं है कि ज़ेडएस का कौन सा संस्करण आप उपयोग कर रहे हैं। Ubuntu 11.04 ubuntu 10.04 की तुलना में ZSH का एक नया संस्करण नहीं है। कई कारण हो सकते हैं कि एक पुराने संस्करण को स्थापित किया गया था। उस मामले के लिए ZSH का एक नया संस्करण का अर्थ यह नहीं है कि ZSH का कौन सा संस्करण है, यह जाने बिना कि कौन सा वाक्यविन्यास उपयोग करना है।
उपर्युक्त सभी उत्तरों को पूरक करने के लिए एक अन्य सुविधाजनक चाल को रंगीन प्रॉम्प्ट सेटिंग्स को एक zsh फ़ंक्शन में रखना है। वहाँ आप स्थानीय चर को उर्फ लंबे समय तक आदेशों में परिभाषित कर सकते हैं, जैसे rc=$reset_color
या अपने स्वयं के रंग चर को परिभाषित करना। इसे अपनी .zshrc
फ़ाइल में रखना न भूलें और आपके द्वारा परिभाषित फ़ंक्शन को कॉल करें:
# Coloured prompt
autoload -U colors && colors
function myprompt {
local rc=$reset_color
export PS1="%F{cyan}%n%{$rc%}@%F{green}%m%{$rc%}:%F{magenta}%~%{$rc%}%# "
}
myprompt