2010-12-01 17 views
30

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

कुछ योजनाओं में, कुछ पृष्ठभूमि रंग बदलती हैं, लेकिन पाठ वाली रेखाओं का स्थान अधिकार अभी भी सफ़ेद रहता है।

मै मैक पर वीम 7.2 का उपयोग कर रहा हूं। मैंने अभी गैर-गुई अनुप्रयोगों के साथ गड़बड़ करना शुरू कर दिया है, इसलिए बॉक्स के बाहर सबकुछ काफी होना चाहिए ..

क्या टर्मिनल विंडो के लिए समग्र सेटिंग्स के साथ कुछ करना है?

मैकवीम चलाते समय, सबकुछ ठीक दिखता है। टर्मिनल चीजों से विम शुरू करने पर ही यह अजीब लगता है ..

उत्तर

3

क्या टर्मिनल विंडो के लिए समग्र सेटिंग्स के साथ कुछ करने के लिए कुछ है?

हां, टर्मिनल पैरामीटर विम पैरामीटर ओवरराइड (कम से कम ओएसएक्स और आईटर्म में)। उदाहरण के लिए, मैं /Users/[username]/.bashrc

में
setBackground() { 
    osascript -e "tell application \"iTerm\" 
    set current_terminal to (current terminal) 
    tell current_terminal 
     set current_session to (current session) 
     tell current_session 
     set background color to $1 
     end tell 
    end tell 
    end tell" 
} 

vim() { 
     (setBackground "{65025,65025,65025}" &) 
     (exec vim $*) 
} 

एक के बाद स्क्रिप्ट है ऊपर vim निष्पादित करने से पहले एक पृष्ठभूमि रंग परिवर्तन निष्पादित करने के लिए टर्मिनल vim आदेश remaps। पृष्ठभूमि रंग समारोह सेबस्क्रिप्ट है (मैंने कहीं से स्क्रिप्ट कॉपी की है ...)। यह iTerm के लिए काम करता है। मुझे विश्वास है कि आप इसे टर्मिनल (सेब उत्पाद + सेब स्क्रिप्ट -> काम करना चाहिए) के साथ काम करने के लिए अनुकूलित कर सकते हैं।

br,
जुहा

6

टर्मिनल आमतौर पर 256 रंग तक ही सीमित है, जबकि जीयूआई केवल अपने डेस्कटॉप वातावरण, आम तौर पर 2^32 की रंग गहराई द्वारा सीमित हैं कर रहे हैं।

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

यदि आप vim.org पर रंग योजनाएं देखते हैं, तो अक्सर GUI या 256 का उल्लेख होता है। इसलिए आपको संदर्भ के आधार पर उपयोग करना होगा।

एक जीयूआई योजना को टर्मिनल में बदलने के लिए आप निम्न प्लगइन का उपयोग कर सकते हैं: CSApprox

तुम भी संदर्भ के आधार पर एक अलग रंग-उपयोग कर सकते हैं, जोड़ने के अपने .vimrc में निम्नलिखित:

if has("gui_running") 
    colorscheme [using any color you want] 
else 
    colorscheme [using 256 colors] 
endif 
+0

तो, मैं कैसे टीमों कि मैं बाहर की कोशिश पता कर सकते हैं रंग प्रतिबंधों के कारण सीमित हो जाओ? – Vegar

+0

मोलोकाई रंगीन (http://bit.ly/fRSH4F) 256 रंगों के लिए समर्थन का दावा करता है, लेकिन पृष्ठभूमि अभी भी सफ़ेद बनी हुई है ... – Vegar

+0

वहां एक उत्तर हो सकता है: http: // stackoverflow।कॉम/प्रश्न/3761770/iterm-vim-colorscheme-not-working जो iTerm और 256 रंग समर्थन का उल्लेख कर रहा है। –

5

मुझे लगता है कि समस्या रास्ता डिफ़ॉल्ट रंग रंग-से बदल गया है हो सकता है। मैं कुछ colorschemes कि द्वारा केवल डिफ़ॉल्ट सेट देखा है:

set background=light 

या

set background=dark 

सुनिश्चित नहीं हैं कि उन लोगों में से सीमाएं हैं। मुझे नहीं लगता कि टर्मिनल में वे काम करते हैं।

किसी भी मामले में, आप 'सामान्य' हाइलाइट का उपयोग कर टर्मिनल में मैन्युअल रूप से पृष्ठभूमि सेट करने में सक्षम होना चाहिए।कलरशेम फ़ाइल में अधिकांश 'हाय' कमांड से पहले इसे एक स्थान पर डालें और इसे डिफ़ॉल्ट प्रदान करना चाहिए जिससे वे काम करेंगे। उदाहरण के लिए:

hi Normal ctermbg=White ctermfg=Black guifg=Black guibg=White 

ctermfg बदलें (रंग टर्मिनल अग्रभूमि) और ctermbg (रंग टर्मिनल पृष्ठभूमि) आप जो कुछ भी चाहते हैं होने के लिए (या जो भी रंग आप रंग-में देखना चाहते थे, लेकिन अब नहीं देख रहे हैं)। (याद रखें, अगर कलरकेम में पहले से ही हाय सामान्य के लिए सेटिंग है तो यह शायद आपकी समस्या नहीं है।)

ctermbg और ctermfg के लिए आप रंगीन नाम दर्ज कर सकते हैं, लेकिन मुझे लगता है कि केवल काफी सीमित संख्या है: काले darkblue DarkGreen DarkCyan DarkRed DarkMagenta ब्राउन, DarkYellow LightGray, LightGrey, धूसर, धूसर DarkGray, DarkGrey ब्लू, lightblue ग्रीन, LightGreen सियान, LightCyan लाल, LightRed मैजेंटा, LightMagenta पीला, LightYellow व्हाइट

नहीं तो आप रंग नाम की जगह में 255 0 से एक नंबर का उपयोग करने में सक्षम होना चाहिए। या फिर इस स्क्रिप्ट मोटा अनुमान देती है, और आप देखते हैं कि कैसे आप भी अधिक रंग के नाम का इस्तेमाल करने के लिए स्थापित कर सकता है कर सकते हैं: Vim script with color settings

इसके अलावा, स्क्रिप्ट की मदद से आप का उपयोग करें या साथ प्रयोग के लिए जीयूआई के लिए लिखा colorschemes परिवर्तित की एक संख्या देखते हैं cterm। उदा,:।

Colorscheme support for cterm

Does the overall settings for the terminal window have something to do with it? 

हो सकता है, लेकिन मैं यकीन है कि एक ठीक से लिखा विम रंग-किसी भी टर्मिनल सेटिंग्स आपके द्वारा किए गए स्थान पर आ जाएगी हूँ। कम से कम वे मेरे लिए विंडोज और उबंटू पर करते हैं। । ।

+0

'सामान्य' हाइलाइट का क्या अर्थ है? जब मैं उबंटू शैल में "हाय" tpye, मुझे "cmd ज्ञात नहीं" मिलता है। – Timo

+0

"हाय सामान्य guifg = सफेद guibg = काला" मेरे लिए काम करता है। – Fisher

28

मैं मुझसे दूसरा जवाब जोड़ रहा हूं क्योंकि यह मेरे पहले उत्तर से बहुत अलग है और वास्तविक समस्या को इंगित कर सकता है।

आप रंग-यहाँ वास्तविक वेबसाइट को देखें, तो: Molokai website

आप से मिलता-जुलता एक प्रश्न देखेंगे। यहां दिया गया जवाब दिया गया है, जो आपके vimrc में कमांड :set t_Co=256 को देखने का सुझाव देता है यह देखने के लिए कि क्या यह चीजों को हल करता है:

"- सुनिश्चित करें कि आप 256 रंगों में सक्षम कंसोल टर्मिनल का उपयोग कर रहे हैं, न कि वे सभी (विशेष रूप से मैक पर)। आपको अपने .vimrc फ़ाइल पर "सेट t_Co = 256" करने के द्वारा स्पष्ट रूप से Vim को मजबूर करने की आवश्यकता हो सकती है। - विंडोज कंसोल अच्छी तरह से ... पूरी तरह से असमर्थित है, केवल 16 रंग करता है, इसलिए यह एक गड़बड़ है "

+3

सभी रंग चले गए, और सब कुछ चमक रहा है ... – Vegar

+0

मैं अपने मैक (10.6) में zsh और vim के साथ डाल रहा हूँ। ': t_Co = 256' बस मेरी दुनिया को उज्ज्वल करें। – kenny

+0

इसने मेरी समस्या को जीनोम टर्मिनल से vim (gvim नहीं) चलाया। अब मैं अपने मोनोकै थीम को डाउनलोड कर सकता हूं और वास्तव में रंग परिवर्तन देख सकता हूं! – Kuberchaun

35

I यह मेरे .vimrc में है और यह PUTTY का उपयोग करते समय मेरे लिए इस समस्या का हल किया।

set t_Co=256 
set background=dark 
colorscheme mustang 
highlight Normal ctermbg=NONE 
highlight nonText ctermbg=NONE 

यह .vimrc में ctermbg सेटिंग्स से पहले रंग-लोड करने के लिए क्योंकि वे एक ही लोगों को रंग-द्वारा निर्धारित ओवरराइड करने के लिए की जरूरत है महत्वपूर्ण है। इसका मतलब यह भी है कि आप रंगमंच स्विच नहीं कर सकते हैं जबकि विम चल रहा है और इसे काम करने की उम्मीद है।

+0

मैं 'monokai.vim' का उपयोग करता हूं और पहली दो पंक्तियां पहले से ही 'monokai.vim' फ़ाइल में थीं, इसलिए अंतिम दो -' हाइलाइट '- रेखाएं जहां महत्वपूर्ण हिस्सा है। मुझे दो बार 't_Co' और' background' सेट करने की आवश्यकता नहीं थी। धन्यवाद! – Csteele5

3

मुझे एक ही समस्या थी और पता चला कि इस प्रश्न का उत्तर वास्तव में तीन गुना है, जहां तीन में से केवल दो को ठीक करना पर्याप्त नहीं है।"सेट t_Co: डिफ़ॉल्ट सेटिंग्स के साथ पोटीन इस

  • विम है पहचान करने के लिए कि टर्मिनल 256 रंग में सक्षम है है -

    1. अपने टर्मिनल में 256 रंग समर्थन: आप की आवश्यकता होगी = 256 "अपने .vimrc में यह

    2. रंग योजना ctermbg और ctermfg के साथ रंग टर्मिनलों के लिए समर्थन की जरूरत है क्या करेंगे पर प्रकाश डाला के लिए जिम्मेदार बताते हैं, न सिर्फ जीयूआई * -versions। http://www.vim.org/scripts/script.php?script_id=2682 इन्हें स्वचालित रूप से प्रदान करने में सक्षम होना चाहिए, और CSApprox मैं सबसे निश्चित रूप से उपयोग कर रहा हूं, लेकिन + gui -compiled Vim या हाल ही में पर्याप्त विम संस्करण (7.3 या नया) की आवश्यकता है।

    तीसरा सबसे आम तौर पर मिस्ड आवश्यकता प्रतीत होता है। http://codeandlife.com/2013/09/22/vim-colorschemes-with-putty-aka-gui-vs-xterm-color256/

    अंतिम पकड़ लिया है कि मुझे क्या हुआ विभिन्न सेटिंग्स की कोशिश करते समय था, जब रंग काम किया है, पाठ के साथ स्क्रीन के केवल क्षेत्रों उचित पृष्ठभूमि रंग था: मैं बस आज सुबह इस विषय पर अपने ही fumblings पर एक छोटा-सा लिखा था । पुट्टी टर्मिनल सेटिंग को फिर से जांचना "स्क्रीन को मिटाने के लिए पृष्ठभूमि रंग का उपयोग करें" मेरे लिए अंतिम मुद्दा तय किया गया है।

  • 12

    लिनक्स में मेरे में export TERM=xterm-256color था। यही कारण है कि इस तरह देखने के लिए (set t_Co=256 सेट करने के बाद) vim कारण:

    Vim looks with molokai theme before fixing TERM variable

    जब मैं अपने .bashrc से कि लाइन हटा दिया और एक नया टर्मिनल (exec bash ऐसा नहीं किया) खोला यह मैं क्या मिलता है:

    Vim looks with molokai theme after fixing TERM variable

    +0

    आपने अपना जीवन बचाया :-) मैं अपने मैक से एसएसएच पर एक डेबियन मशीन से कनेक्ट कर रहा था और मुझे आपके स्क्रीनशॉट में बिल्कुल वही समस्या थी। यह काम शुरू करने के लिए मेरे विम के लिए समाधान था। – Stefan

    0

    यह स्विचिंग पृष्ठभूमि के लिए मेरे लिए काम करता है:

    colorscheme hemisu 
    function! g:ToggleBackground() 
        if &background != 'dark' 
        set background=dark 
        else 
        set background=light 
        colorscheme hemisu 
        endif 
    endfunction 
    nnoremap <silent> <F3> :call g:ToggleBackground()<CR> 
    

    ctermbg=231 जैसे कुछ को हल्का पृष्ठभूमि सेट करने का प्रयास करें, ताकि tmux इसे बेहतर तरीके से संभाल सके।

    0

    इस नियम का प्रयोग करें अगर आप SSH के माध्यम से विम का उपयोग करें:

    1. अपने स्थानीय .bashrc में जोड़ें:

      export TERM=xterm-256color 
      
    2. .bashrc किसी भी TERM परिभाषाओं से निकालें।

    आप पर दोनों (स्थानीय और दूरस्थ) एक ही .bashrc उपयोग करते हैं, अस्थायी वातावरण चर और कभी नहीं विश्व स्तर पर TERM सेट का उपयोग करें:

    alias color-ssh='TERM=xterm-256color ssh [email protected]' 
    
    संबंधित मुद्दे