Solarized का उपयोग कर iTerm2 में विम के साथ गलत रंग


84

मैं iTerm2 के साथ एक अजीब मुद्दा रहा हूँ, टर्मिनल विम (गैर-गुजरात) और सौर रंग योजना में। सबसे पहले, मैंने गहरे सोलराइज़्ड रंग योजना का उपयोग करने के लिए iTerm2 निर्धारित किया है।

मैं विम के लिए सोलराइज्ड का भी उपयोग कर रहा हूं। मेरी .vimrc में निम्न पंक्तियाँ हैं

set background=dark
colorscheme solarized

टर्मिनल में रंग योजना गलत दिखती है: कंसोल विम

संदर्भ के लिए यह मैकविम (गुई विम) के तहत कैसा दिखता है गुइ विम

अपने कंसोल कंसोल में रंगों को सही ढंग से देखने के लिए मुझे iTerm या my .vimrc में क्या बदलने की आवश्यकता है?

जवाबों:


118

जाँच करने के लिए कुछ चीज़ें:

  1. ITerm2 में, वरीयताएँ में -> प्रोफ़ाइल -> टर्मिनल, "टर्मिनल एमुलेशन" के तहत आपके पास "रिपोर्ट टर्मिनल प्रकार:" है जो xterm-256color पर सेट है।

  2. आपके .vimrc में, कुछ विकल्प हैं जिन्हें आप यह सुनिश्चित करने के लिए सेट कर सकते हैं कि यह 256 रंगों का उपयोग कर रहा है:

    set background=dark
    " solarized options 
    let g:solarized_visibility = "high"
    let g:solarized_contrast = "high"
    colorscheme solarized
    
    और उनमें से एक को काम करना चाहिए, लेकिन पहले # 1।

लेकिन, अगर आप डिफ़ॉल्ट का उपयोग कर रहे हैं, हिम तेंदुए पर विम में बनाया गया है, तो यह काम नहीं करेगा, क्योंकि यह 256 रंगों के समर्थन के साथ नहीं बनाया गया है। मेरा मानना ​​है कि लॉयन वर्जन में बिल्ट इन वर्जन है।

संपादित करें: इस उत्तर पर कई टिप्पणियों के आधार पर, मैंने ऊपर let g:solarized_termcolors = 256के .vimrcउदाहरण से लाइन हटा दी है। ऐसा प्रतीत होता है कि कुछ के लिए एक समस्या हो सकती है। एक अन्य का कहना है कि लाइन को जोड़ने से let g:solarized_termcolors = 16रंग प्रदर्शन की समस्या ठीक हो गई। आपका अपना माइलेज अलग हो सकता है।

दूसरा संपादित करें: यदि आपने सौर रंग पैलेट को iTerm2 में लोड किया है, तो आपको अवश्य करना चाहिए let g:solarized_termcolors=16। केवल तभी let g:solarized_termcolors=256जब आप अपने iTerm2 रंग पूर्व निर्धारित के रूप में सौरीकृत पैलेट का उपयोग नहीं कर रहे हैं ।


13
दरअसल, "let g: Solarized_termcolors = 256" मेरे लिए गलत तरीके से सोलराइज्ड प्रदर्शित करने का कारण था । Git repo ( github.com/vim-scripts/Solarized ) के अनुसार, "TERMINAL USERS के लिए महत्वपूर्ण नोट:", आपको "g: Solarized_termcolors = 16" देना चाहिए।
साई पेरशार्ड

3
यदि आप अपने टर्मिनल के साथ सोलराइज्ड कलर स्कीम का उपयोग कर रहे हैं, तो 16 एएनएसआई रंग सोलराइज्ड रंगों में सेट हो जाएंगे, जिस स्थिति में आप सेट करना चाहते हैं let g:solarized_termcolors=16। यदि आप 256 का उपयोग करते हैं, तो यह करीब होगा, लेकिन गहरे समुद्र के नीले रंग के बजाय पृष्ठभूमि ग्रे होगी।
पार्कर सेल्बर्ट

2
ऐसा लगता है 256कि मुझे शेर पर गहरे नीले रंग के बजाय धूसर पृष्ठभूमि 16दिखाई देती है, लेकिन मेरी विंब से उस चर को छोड़ते हुए बिल्कुल वैसा ही दिखता है। ओह, डार्क ग्रे वास्तव में हल्के ग्रे से बेहतर है जो मुझे पहले मिल रहा था।
स्टाइलफेल

1
@SaiPerchard टिप्पणी को उत्तर में जोड़ा जाना चाहिए। मेरे लिए यह गलत पृष्ठभूमि का रंग तय किया गया था।
मार्टन साइटिमा

1
मेरे लिए काम नहीं किया : stackoverflow.com/a/12969298/1945990 ने हालांकि किया। ITerm, solarized theme plus vim solarized theme।
माइक डब्ल्यू

91

उपरोक्त जवाब मेरे लिए काम नहीं किया।

मैं OS X 10.7.4 पर vim 7.3 के साथ iTerm2 का उपयोग कर रहा हूं।

यदि उपरोक्त समाधान आपके लिए भी काम नहीं करते हैं, तो यह प्रयास करें

syntax on
set background=dark
let g:solarized_termtrans = 1
colorscheme solarized

अपडेट: जिम स्टीवर्ट के अनुसार, यह किट्टी पर भी काम करता है।


मेरे लिए यहाँ भी ... उस समाधान के लिए धन्यवाद!
22

2
मैं विंडोज 7 पर KiTTY (PuTTY व्युत्पन्न) का उपयोग कर रहा हूं, और let g:solarized_termtrans = 1मेरे लिए एक मुद्दा तय किया है जहां रिक्त लाइनों पर पृष्ठभूमि का रंग ग्रे था, लेकिन सामग्री के बाद पाठ के साथ लाइनों पर पृष्ठभूमि का रंग काला था।
जिम स्टीवर्ट

वे काले रंग के नहीं हैं :(
सेटरन

यदि आप किसी अन्य रंग योजना का उपयोग कर रहे हैं, तो आप कर सकते हैं hi Normal ctermbg=NONE, क्योंकि यह अनिवार्य termtransरूप से सौर्य में क्या करता है (जहां तक ​​मैं उनके स्रोत से बता सकता हूं)
अचल दवे

1
यह काम करने के सबसे करीब है, यह पृष्ठभूमि के रंग को सही ढंग से सेट करता है, लेकिन मेरी कर्सरलाइन, कलरकॉल्यूम और लाइन नंबर कॉलम सभी में काली पृष्ठभूमि है। कुछ भी कभी आसान क्यों नहीं है!
इयान वॉन

13

https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

सोलाराइज्ड पैकेज ( https://github.com/altercation/solarized ) डाउनलोड करें और निर्देशों का पालन करें:

प्राथमिकताएं टूलबार में ओपनर 2, ओपन प्रेफरेंस, "प्रोफाइल" (पूर्व में दिए पते, पूर्व में बुकमार्क) आइकन पर क्लिक करें, फिर "रंग" टैब चुनें। "लोड प्रीसेट" पर क्लिक करें और "आयात ..." चुनें। सोलराइज़्ड लाइट या डार्क थीम फ़ाइल का चयन करें।

आपने अब iTerm 2 में Solarized रंग प्रीसेट लोड किया है, लेकिन अभी तक उन्हें लागू नहीं किया है। उन्हें लागू करने के लिए, बाईं ओर प्रोफ़ाइल सूची विंडो से एक मौजूदा प्रोफ़ाइल का चयन करें, या एक नया प्रोफ़ाइल बनाएं। फिर "लोड प्रीसेट" ड्रॉप डाउन से सोलराइज़्ड डार्क या सोलराइज़्ड लाइट प्रीसेट चुनें।

====================================

या:

cd ~/.vim/bundle
git clone git://github.com/altercation/vim-colors-solarized.git

संशोधित .vimrc

डार्क थीम:

syntax enable
set background=dark
colorscheme solarized

रोशनी

syntax enable
set background=light
colorscheme solarized

2
पिछले उत्तरों में से कोई भी मेरी समस्या का हल नहीं करता है लेकिन यह करता है। यह पता चला है कि मेरे लिए क्या गायब था रंग presets था।
सोफिया फेंग

10

यह मेरे लिए OS X 10.9.1 में iTerm 2 के साथ-साथ टर्मिनल के लिए भी काम करता है। एक गलती जो मैं कर रहा था वह टर्मट्रांस और टर्मकॉलर्स सेटिंग्स (और मुझे काम करने के लिए इन दोनों की ज़रूरत थी) से पहले कलर्सकेम डिक्लेरेशन लगा रहा था। जैसा कि दूसरों ने कहा है, मैंने अपना टर्मिनल प्रकार xterm-256color पर सेट किया है

if !has("gui_running")
    let g:solarized_termtrans=1
    let g:solarized_termcolors=256
endif

colorscheme solarized
set background=dark

7

मैं OSX 10.11.6, iTerm2 Build 3.0.12 पर इसी समस्या से जूझ रहा था।

यहाँ इसके लिए मेरा फिक्स है।

  1. .vimrc

    सिंटैक्स सेट बैकग्राउंड = डार्क कलर्सकेम सोलराइज़्ड को सक्षम करता है

  2. करने के लिए रिपोर्ट टर्मिनल प्रकार सेट करें xterm-256color

यहां छवि विवरण दर्ज करें

  1. प्रोफ़ाइल में रंग प्रीसेट को Solarized Dark में सेट करें

यहां छवि विवरण दर्ज करें


अपवोट क्योंकि यह वह सुराग था जो मुझे अलग-अलग रंग के प्रीसेट्स की कोशिश करने के लिए चाहिए था जो मुझे इस खोज की ओर ले जाते हैं कि 256 के पूर्व के कलर एस्केप कोड को मैक बनाम लिनक्स पर अलग तरह से व्यवहार किया जाता है। मैक पर, पिछले 256 रंगों को चयनित किए गए 8 एएनएसआई रंगों में से एक को चपटे की तुलना में मॉडेड किया गया प्रतीत होता है, लिनक्स में व्हाटस एक मापांक कर रहा है जो चारों ओर लपेटता है और एक रंग चुनता है।
एरिक लेसचिंस्की

6

निर्माता से: http://ethanschoonover.com/solarized/vim-colors-solarized

टर्मिनल के लिए महत्वपूर्ण नोट:

यदि आप Solarized को टर्मिनल मोड में उपयोग करने जा रहे हैं (अर्थात जीयूआई या मैकविम जैसे GUI संस्करण में नहीं), तो कृपया कृपया सोलरलाइज्ड पैलेट का उपयोग करने के लिए अपने टर्मिनल एमुलेटर के कलश को सेट करने पर विचार करें। मैंने कुछ लोकप्रिय टर्मिनल एमुलेटर के लिए पैलेट को शामिल किया है और साथ ही सोलराइज्ड होमपेज से उपलब्ध आधिकारिक सोलराइज्ड डाउनलोड में एक्सडेफॉल्ट भी। यदि आप इन रंगों के बिना सोलराइज़्ड का उपयोग करते हैं, तो सोलराइज़्ड को सीमित 256 टर्मिनल पैलेट के साथ संगत सेट पर अपने कलरकेम को नीचा दिखाने के लिए कहा जाना चाहिए (जबकि टर्मिनल के 16 एएनआई रंग मूल्यों का उपयोग करके, आप सोलराइज्ड के लिए सही, विशिष्ट मान सेट कर सकते हैं। पैलेट)।

यदि आप कस्टम टर्मिनल रंगों का उपयोग करते हैं, तो Solarized.vim को आपके लिए बॉक्स से बाहर काम करना चाहिए। यदि आप एक टर्मिनल एमुलेटर का उपयोग कर रहे हैं जो 256 रंगों का समर्थन करता है और कस्टम सोलराइज्ड टर्मिनल रंगों का उपयोग नहीं करना चाहता है, तो आपको नीच 256 कलर्सकेम का उपयोग करने की आवश्यकता होगी। ऐसा करने के लिए, रंगरेखा सोलराइज़्ड लाइन से पहले बस निम्नलिखित पंक्ति जोड़ें:

let g:solarized_termcolors=256

फिर से, मैं आपके टर्मिनल रंगों को सोलराइज्ड वैल्यू में या तो मैन्युअल रूप से या आयात के लिए उपलब्ध कई टर्मिनल योजनाओं में से एक के माध्यम से बदलने की सलाह देता हूं।


यह गैर-जीयूआई मैकविम में सौर रंगों का उपयोग करने के लिए iTerm2 प्राप्त करने का एकमात्र तरीका था।
आरोन ट्रिब्यू

4

बिल टर्नर का जवाब काम करता है, लेकिन मैकविम से मिलान करने के लिए रंगों को प्राप्त करने का एक तरीका है। Solarized को विशेष रूप से iTerm2 के लिए समर्थन है, अन्य टर्मिनल एमुलेटर के बीच।

  1. पर जाएं iterm2-रंग-solarized GitHub पेज
  2. "स्थापना" के तहत निर्देशों का पालन करें
  3. सुनिश्चित करें कि आपकी .vimrc में लाइन है colorscheme solarized

यह iTerm2 में विम रंगों को ठीक उसी तरह सेट करना चाहिए जैसा वे gui संपादकों में करते हैं।


जैसा कि उत्तर भी बताता है, बिल टर्नर का उत्तर भी सही है, लेकिन THIS आधिकारिक (इसलिए सही) solarizedविषय को निर्धारित करने का तरीका है ।
कैन

1

इस समस्या को हल करने का एक सरल तरीका है:

रंगों में विम-कलर-सोलराइज्ड पर 'सोलरोज्ड.विम' नामक एक आर्काइव मौजूद होता है।

इस फ़ाइल को खोलें और खोजें:
exe "let s: bg_back = '" .s: vmode। "Gg =": s: back। "'

इसे बदलें:
exe "let s: bg_back = '" .s: vmode। "bg =" s।: s: none। "


1

अभी भी किसी भी तरह के मुद्दों के लिए, मैंने iterm2 सोलराइज़्ड कलर प्रोफाइल स्थापित किया था । विम-रंग-सोलराइज़्ड को विम बंडलों में स्थापित करना और निर्देशों का पालन करना अनावश्यक था और असंगत था। ऊपर स्क्रीन कैप्चर में जैसे अजीब हाइलाइटिंग मुद्दे थे।

सबक सीखा: दोनों मत करो।


0

मैंने पिछले सभी सुझावों की कोशिश की। मैंने अभी set t_Co=256.vimrc में जोड़ा और इसे ठीक कर दिया गया। मुझे एक tmuxउपनाम बनाने या अपनी कॉन्फ़िगरेशन फ़ाइल को बदलने की आवश्यकता नहीं थी ।


0

पिछले उत्तरों में से किसी ने भी मेरे लिए काम नहीं किया। जाहिर है मैं गायब था:

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