रंग टैब पूरा करने के लिए कैसे?


18

क्या टर्मिनल में टैब पूरा करने का उपयोग करते समय रंगीन आउटपुट प्राप्त करने का एक तरीका है? मेरे रंग हर जगह ठीक हैं, इसलिए मुझे पता है कि मैंने सफलतापूर्वक एक रंग टर्मिनल सक्षम किया है।

उबंटू (10.10) में बैश का उपयोग करना।


टैब समापन का उपयोग करते समय आप "रंगीन आउटपुट" कैसे निर्दिष्ट करते हैं?
19

जवाबों:


21

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

यदि यह आपके लिए एक महत्वपूर्ण विशेषता है, तो मैं सुझाव दूंगा कि आप zsh का उपयोग करने पर विचार करें।

अपडेट करें

बैश 4.3 रीडलाइन एक वैरिएबल जोड़ता है जो टैब के पूरा होने के दौरान निष्पादन योग्य फ़ाइलों, निर्देशिकाओं आदि के लिए अलग-अलग रंगों को दिखाने के लिए टैब को पूरा करने में सक्षम बनाता है:

colored-stats

आगामी बैश 4.4 में रीडलाइन एक चर जोड़ता है जो टैब पूरा होने के दौरान स्ट्रिंग के मिलान वाले हिस्से को इंगित करने के लिए रंग को सक्षम करता है।

colored-completion-prefix

आप इन चरों के मानों का उपयोग करके देख सकते हैं

bind -v | grep color

उन्हें सेट करने के लिए, अपनी ~/.inputrcफ़ाइल में लाइनें जोड़ें :

set colored-stats on

1
@ रियान: ज़श बैश के साथ काफी संगत है। आप शायद स्विच को काफी आसान पाएंगे। इसमें बहुत सारी शक्तिशाली विशेषताएं हैं जो बैश के पास नहीं है (या आपको बाहरी उपयोगिताओं के लिए उपयोग करना होगा)। केवल कुछ चीजें हैं जो मूल बातें में काफी भिन्न हैं। एक उदाहरण यह है कि सरणी सूचकांक शून्य-आधारित के बजाय एक-आधारित हैं, लेकिन एक सेटिंग है जो इसे प्रभावित करती है। मैं केवल कभी-कभी zsh का उपयोग करता हूं।
अगली सूचना तक रोक दिया गया।

1
@AstroFloyd: बैश मनुआ से : "रंग परिभाषाएं LS_COLORSपर्यावरण चर के मान से ली गई हैं ।" उस चर के लिए प्रलेखन यहाँ हैmanपृष्ठों के लिए कोई सेटिंग नहीं है , इसलिए आपको यह देखने की आवश्यकता होगी कि आपका LS_COLORSसेट कहां मिलता है और रंग संयोजन को ढूंढता है जो इसे बदलता है और इसे बदलता है। मेरे सिस्टम पर, manपृष्ठ के नाम टैब के पूर्ण होने पर (और टूटे हुए सिम्लिंक्स के होते हुए, रंगीन नहीं होते हैं, जबकि lsआउटपुट में लाल-ऑन-ग्रे , ...
अगली सूचना तक रोका गया।

1
... टैब-पूर्ण होने के दौरान वैध सिम्लिंक की तरह हल्के नीले रंग के होते हैं)।
अगली सूचना तक रोक दिया गया।

1
@AndyCarlson: क्या bind -v | grep colorदोनों दिखाते हैं set colored-completion-prefix onऔर set colored-stats on? यदि हां, तो क्या होता है जब आप अक्षर को टाइप करते हैं, दो बार टैब दबाकर? यदि आपने सेटिंग को अपने में जोड़ लिया है, ~/.inputrcलेकिन एक नया टर्मिनल शुरू नहीं किया है या re-read-init-fileकंट्रोल-एक्स कंट्रोल-आर दबाकर निष्पादित नहीं किया है, तो सेटिंग्स प्रभावी नहीं होंगी।
अगली सूचना तक रोक दिया गया।

2
@AndyCarlson जब आप ctrl-x ctrl-v दबाते हैं, तो bash प्रॉम्प्ट पर आउटपुट क्या होता है?
अगली सूचना तक रोक दिया गया।

3

मैं आदेश विकल्प और तर्क के लिए, लेकिन फ़ाइल नाम और निर्देशिका के लिए पूरा होने के रंगों के बारे में पता नहीं है, करने के लिए (अनुसार /unix//a/133866 ) user495470 कहा गया है कि बैश 4.3 में और बाद में आप जोड़ सकते हैं set colored-stats onकरने के लिए ~/.inputrcरंग का पाने के लिए जब आप पूरा करते हैं ls <tab>

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