2012-04-01 6 views
7

मैं टर्मिनल विम के लिए रंग योजनाओं के साथ खेल रहे हैं और कुछ annoyingly निराशा होती है कि मैं अब तक हल करने में असमर्थ रहे हैं मिल गया है।ओएस एक्स पर टर्मिनल वीआईएम में 256-रंग पैलेट क्यों बदलता है?

मुझे उम्मीद है कि 16 सिस्टम रंग बदल जाएंगे। वे स्पष्ट रूप से विन्यास योग्य हैं। यही वजह है कि मैं एक विम रंग योजना है कि टर्मिनल के 16 (विन्यास) प्रणाली रंग पैलेट की परवाह किए बिना ही होगा निर्माण के लिए 256 रंग पैलेट का उपयोग करने का प्रयास किया।

मैंने पृष्ठभूमि सहित सभी चीज़ों के लिए केवल 256 रंग पैलेट से रंगों का उपयोग किया था। हालांकि, मैंने देखा है कि अगर मैं टर्मिनलों के लिए निर्दिष्ट अलग पृष्ठभूमि और पाठ रंग के साथ टर्मिनल खोलते हैं, विम रंग योजनाओं दो टर्मिनलों में काफी अलग दिखाई देते हैं।

मुझे उबंटू पर समान व्यवहार दिखाई नहीं देता है, भले ही टर्मिनल के पास अलग-अलग पृष्ठभूमि, अग्रभूमि और सिस्टम रंग पट्टियां हों।

मैं खुशी से एक उत्तर स्वीकार करूंगा जो बताता है कि ऐसा क्यों होता है।

अगर कोई मुझे रंगीन सेटिंग्स के प्रत्येक सेट के लिए एक विशिष्ट टर्मिनल स्थापित करने से परे मुझे इस बारे में बता सकता है तो मैं उत्साहित होगा।

+1

बस स्पष्ट है, तो आप उपयोग कर रहे हैं होने के लिए 't_Co = 256' और' अवधि = टर्म-256color' सही? –

+0

हाँ, उस समय लूओंग का ख्याल रखा गया था। :) – toadjamb

+0

यह यहां वर्णित अनुसार ऑटो-एडजस्टमेंट हो सकता है: http://apple.stackexchange.com/questions/29487/is-it-possible-to-disable-terminals-automatic-tweaking-of-colors-in- शेर –

उत्तर

4

डिफ़ॉल्ट रूप से, एएनएसआई टर्मिनल 16 रंग डिवाइस होते हैं और gvim में काम करने वाली विम रंग योजनाएं टर्मिनल में ठीक से काम नहीं करतीं।

कुछ टर्मिनलों 88 या 256 रंगों में सक्षम हैं। आप t_Co सेट करके इस बारे में विम को बता सकते हैं। बेशक, 256 रंग अभी भी पूर्ण आरजीबी आप gvim में है कि तुलना में कम है।

मैट वोजनिस्की द्वारा विकसित CSApprox नामक विम के लिए एक पैकेज है। यह आपको अनुमानित रंगों के साथ gvim रंग योजनाओं का उपयोग करने देता है।

यह मैं अपने आप को क्या उपयोग है।

CSApprox में एक प्रलेखन फ़ाइल शामिल है जो मैं यहां से सब कुछ बेहतर बता सकता हूं।

यूआरएल: http://www.vim.org/scripts/script.php?script_id=2390

गुड लक।

पीएस अपने प्रश्न के बारे में हालांकि, मैंने देखा है कि अगर मैं टर्मिनलों के लिए निर्दिष्ट अलग पृष्ठभूमि और पाठ रंग के साथ टर्मिनल खोलते हैं, विम रंग योजनाओं दो टर्मिनलों में काफी अलग दिखाई देते हैं।

ऐसा लगता है कि ओएसएक्स टर्मिनल 256 रंग xterm पैलेट से रंग परिभाषा को अलग नहीं करता है; यानी कि इसकी सेटिंग्स में हेरफेर करके आप पैलेट या उस तरह से कुछ गड़बड़ कर रहे हैं।

टर्मिनलों को शायद 16 रंगीन उपयोगकर्ता-कॉन्फ़िगर करने योग्य सामान को 256 रंग पैलेट से अलग रखना चाहिए।

+1

जानकारी का एक और उपयोगी बिट, जहां अधिक रंगों का समर्थन करने के लिए एएनएसआई एक्सटेंशन आता है: http: // www.mudpedia।संगठन/विकी/Xterm_256_colors – Kaz

+0

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

+0

'CSApprox' gvim के लिए नहीं है। यह उन उपयोगकर्ताओं के लिए बिल्कुल है जो जीवीआईएम लेकिन टर्मिनलों का उपयोग नहीं करते हैं। यह सिर्फ इतना है कि जीवीआईएम संदर्भ मॉडल है कि रंग योजनाओं को कैसे प्रदर्शित किया जाना चाहिए। यदि आप रंगों के बारे में पसंद करते हैं (आईई। 24 आरजीबी बिट्स में से प्रत्येक को चुनना चाहते हैं) तो मुझे लगता है कि आप विम के माध्यम से भाग्य से बाहर हैं। आपको अपनी टर्मिनल के पैलेट को अपनी वरीयता तंत्र के माध्यम से संपादित करना होगा। – Kaz

0

कृपया, स्क्रीनशॉट पोस्ट करें ताकि हम देखें कि आप क्या देखते हैं। उन्हें देखे बिना या उनके संख्यात्मक मूल्यों की तुलना में रंगों के बारे में बात करना मुश्किल है।

ठीक है, मैं अभी भी 10.6.8 पर हूं इसलिए मैंने कभी भी टर्मिनल.एप की 256 रंगों को प्रदर्शित करने की क्षमता का आनंद नहीं लिया है।

लेकिन, AFAIK, इसके डिफ़ॉल्ट 16 रंग X11 पैलेट से नहीं लिया गया है।वे शायद कहीं भी हार्डकोड किए गए हैं और उनके मान उपयोगकर्ता-कॉन्फ़िगर करने योग्य हैं। इसके कारण, मुझे नहीं पता कि डिफ़ॉल्ट Red किसी भी चीज़ के मूल्य को बदलने से आपके विम कलरकेम के रंग बदल जाएंगे।

हालांकि, Terminal.app (अधिकांश अन्य टर्मिनल emulators की तरह) आप Background, Text, Bold, Selection और Cursor के मूल्यों को बदलने के लिए अनुमति देता है। आपकी कलरकेम्स कैसे लिखी गई हैं, इस पर निर्भर करता है कि इनमें से कुछ सेटिंग्स आपके रंगमंच के हिस्सों को ओवरराइड कर सकती हैं, Background, सबसे विशेष रूप से।

मेरे पास मेरी टर्मिनल.एप पृष्ठभूमि है जो लंबे समय तक मेरे विम रंगों की पृष्ठभूमि से मेल खाती है। खैर, कम से कम 16 रंग टर्मिनल एमुलेटर के लिए।

0

256 रंग मोड अभी भी एक अनुक्रमित पैलेट है, जो 8 और 16 रंग मोड के समान है। एप्लिकेशन बस पैलेट से इंडेक्स द्वारा एक रंग का चयन करता है, और यह तय करने के लिए टर्मिनल पर निर्भर करता है कि वास्तव में कौन सा रंग होगा।

इन दो इंडेक्स के लिए एक ही रंग चुनने के लिए दो अलग-अलग टर्मिनलों को यह तथ्य हो सकता है कि 216-रंग आरजीबी घन के भीतर प्रत्येक घटक के 6 स्तर होते हैं, इसलिए उन रंगों को असाइन करने के लिए "स्पष्ट" प्राकृतिक तरीका होगा सूची में से प्रत्येक को चुनने के लिए (0, 0x33, 0x66, 0x99, 0xcc, 0xff)। मुझे लगता है कि ज्यादातर टर्मिनल ऐसा करेंगे, और इसलिए एक ही सूचकांक पर एक ही रंग दें।

यदि दो टर्मिनलों में भिन्नता है तो यह केवल एक संकेत है कि वे अपने वास्तविक रंगों का चयन करने के कुछ अन्य तरीकों का उपयोग कर रहे हैं।

+0

डिफ़ॉल्ट 256 रंग तालिका अनिवार्य रूप से सभी टर्मिनल अनुकरणकों पर समान होनी चाहिए। सटीक रंग मान भिन्न हो सकते हैं, लेकिन रंगों के डिफ़ॉल्ट सेट का "मानक" विवरण है। रंग अंशांकन भी मामूली विविधता पैदा कर सकता है। –

2

टर्मिनल पृष्ठभूमि रंग के साथ न्यूनतम मात्रा में विपरीत सुनिश्चित करने के लिए कुछ रंग मानों को गतिशील रूप से समायोजित करता है। शायद यही वह है जो आप देख रहे हैं।

कृपया दो अलग-अलग रंग योजनाओं को दिखाते हुए एक स्क्रीनशॉट संलग्न करें। उपलब्ध रंग देखने के लिए एक अच्छी स्क्रिप्ट 256colors2.pl है।

0

यदि आप iTerm2 का उपयोग कर रहे हैं तो आपको यह बदलने की आवश्यकता हो सकती है कि यह किस प्रकार का टर्मिनल रिपोर्ट कर रहा है।

अपने iTerm2 पसंद में> प्रोफ़ाइल> टर्मिनल> रिपोर्ट टर्मिनल प्रकार, xterm-256color

0

करने के लिए सेट Terminal.app उर्फ ​​एप्पल टर्मिनल में, रंग अगर पृष्ठभूमि रंग स्पष्ट रूप से और साथ ही सेट नहीं है बदल जाएगा।

तो अपने रंग योजना के साथ आप को डिफ़ॉल्ट पृष्ठभूमि रंग Normal रंग समूह, उदा .:

hi Normal ctermfg=188 ctermbg=234 

का उपयोग कर सेट करना होगा और फिर आप रंग के किसी भी आगे नहीं आएगा।

नोट: मैं केवल अग्रभाग संभवतः प्रभावित होने ताकि आप किसी भी महत्वपूर्ण उत्पादन छूट न देखा है;)

संबंधित मुद्दे