colors - पतञ - बड़ी आंखों वाली स्त्री




मैं zsh(सामान्य पाठ से अलग) में अपने प्रॉम्प्ट का रंग कैसे बदल सकता हूं? (4)

कमांडलाइन पर आउटपुट की शुरुआत और अंत को बेहतर ढंग से पहचानने के लिए, मैं अपने प्रॉम्प्ट का रंग बदलना चाहता हूं, ताकि यह प्रोग्राम आउटपुट से स्पष्ट रूप से अलग हो। जैसे ही मैं zsh का उपयोग करता हूं, क्या कोई मुझे संकेत दे सकता है?


आदमी zshall और प्रोपेट विस्तार के लिए खोज

यहां मौजूदा उत्तरों को पढ़ने के बाद, उनमें से कई विरोधाभासी हैं। मैंने zsh 4.2 और 5+ चलाने वाले सिस्टम पर विभिन्न दृष्टिकोणों का प्रयास किया है और पाया है कि इन उत्तरों के विरोधाभास का कारण यह है कि वे यह नहीं कहते कि जेडएसएच का कौन सा संस्करण लक्षित है। विभिन्न संस्करण इसके लिए अलग वाक्यविन्यास का उपयोग करते हैं और उनमें से कुछ को विभिन्न ऑटोलोड की आवश्यकता होती है।

तो, सबसे अच्छा शर्त संभवतः zshall के लिए है और zsh की आपकी विशेष स्थापना के लिए सभी नियमों को जानने के लिए प्रोपेट विस्तार की खोज करें। टिप्पणियों में ध्यान दें, "मैं उबंटू 11.04 या 10.4 या ओएसएक्स का उपयोग करता हूं" बहुत सार्थक नहीं है क्योंकि यह स्पष्ट नहीं है कि आप जेडएसएच का किस संस्करण का उपयोग कर रहे हैं। उबंटू 11.04 यूबंटू 10.04 की तुलना में जेडएसएच का एक नया संस्करण नहीं दर्शाता है। पुराने संस्करण स्थापित होने के कई कारण हो सकते हैं। उस मामले के लिए जेडएसएच का एक नया संस्करण यह नहीं बताता कि कौन सी वाक्यविन्यास यह जानने के बिना उपयोग करता है कि जेडएसएच का कौन सा संस्करण है।


इसे ~/.zshrc में रखें:

autoload -U colors && colors
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "

समर्थित रंग:
लाल, नीला, हरा, सायन, पीला, मगेंटा, काला और सफेद ( इस उत्तर से ) हालांकि विभिन्न कंप्यूटरों के पास अलग-अलग वैध विकल्प हो सकते हैं।

%{....%} साथ आसपास के रंग कोड (और कोई अन्य गैर प्रिंट करने योग्य वर्ण)। यह सही ढंग से काम करने के लिए पाठ रैपिंग के लिए है।


मुझे नहीं लगता कि autoload -U colors && colors अब और आवश्यक हैं और कोई भी बस कर सकता है:

PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "

फायरड्यूड के जवाब के समान परिणाम प्राप्त करने के लिए। अधिक जानकारी के लिए जेडएसएच दस्तावेज देखें।


मैंने पाया है कि, zsh5 (डेबियन जेसी पर डिफ़ॉल्ट) के साथ, ये सभी समाधान काम करते हैं:

  • $'\e[00m
  • $fg[white]
  • $fg{white}

अब, उन्हें एक समस्या है: वे कर्सर को स्थानांतरित करेंगे, जिसके परिणामस्वरूप टैबबिंग (ऑटो-पूर्ण होने के लिए) बदसूरत डीकल होगा। समाधान बस %{FOOBAR%} साथ भागने के दृश्यों को घेरने के लिए है। इसे समझने के लिए मुझे थोड़ी देर लग गई। colors मॉड्यूल लोड करने के दूसरे और तीसरे समाधान के लिए अनिवार्य है। पहला समाधान पठनीय रखने के लिए, केवल आपके द्वारा उपयोग किए जाने वाले रंगों के लिए चर परिभाषित करें।





prompt