2010-07-16 6 views
7

यदि मैं cursorline विकल्प सेट करता हूं तो मुझे अपनी वर्तमान कर्सर रेखा को रेखांकित किया जाता है और सभी वर्ण जो रंग निर्दिष्ट नहीं होते हैं, वे भी पीले रंग की ओर जाते हैं (पीले रंग केवल तभी दिखाई देते हैं जब सामान्य हाइलाइट समूह छूटा न हो)। मुझे आश्चर्य है, जहां यह रंग (पीला) परिभाषित किया गया है?कर्सर लाइन का रंग कहां परिभाषित किया गया है?

संपादित करें: मुझे CursorLine हाइलाइट समूह के बारे में पता है। समस्या यह है कि डिफ़ॉल्ट रंग-जो मैं इसे उपयोग कर रहा हूँ में निर्धारित नहीं है और :hi CursorLine

CursorLine  xxx term=underline cterm=underline 

जहां xxx पीले से रंग और रेखांकित कर रहा है पता चलता है। मैं रंग बदलना नहीं चाहता, मैं 2html.vim के लिए प्लगइन के समान समर्थन जोड़ना चाहता हूं, इसलिए मुझे कुछ हाइलाइट समूह/चर/etc चाहिए जहां मुझे यह पीला रंग मिल सकता है।

+1

superuser.com –

+0

पर संबंध रखता है आपके अद्यतन के आधार पर नीचे मेरी संपादित प्रतिक्रिया देखें की जाँच करें। –

उत्तर

6

संपादित करें: आप synIDattr() फ़ंक्शन के साथ किसी विशेष हाइलाइट समूह के लिए अधिकांश मानों को पूछ सकते हैं। उदाहरण के लिए, इस CursorLine करने के लिए सौंपा अग्रभूमि रंग प्रिंट होगा अगर एक निर्धारित किया गया है:

:echo synIDattr(synIDtrans(hlID("CursorLine")), "fg") 

तुम भी, underline, undercurl, आदि की स्थिति का निर्धारण कर सकते हैं समान कॉल के साथ।

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

Problem with synIDattr()

Programmatically detect a current "highlight" setting?

हैं synIDattr() आप क्या चाहते हैं काम नहीं चलेगा, यह हो सकता है आसान एक चर के लिए highlight आदेश के उत्पादन अनुप्रेषित और यह अपने आप को पार्स करने:

:redir => cursorline_highlight | silent highlight CursorLine | redir END 
:echo "CursorLine highlight: " . cursorline_highlight 

:highlight CursorLine term=underline guibg=#555555 cterm=underline 

आमतौर पर यह कोई विम रंग-फ़ाइल के भीतर किया जाता है, जो विम उपयोगकर्ता के कुछ हिस्सों के लिए रंग को परिभाषित करने के कई ऐसे लाइनों में शामिल हैं: कर्सर रेखा का रंग एक highlight आदेश इस तरह से सेट किया जा सकताइंटरफ़ेस, साथ ही तारों, संख्याओं, कीवर्ड इत्यादि जैसे सामान्य वाक्य रचनात्मक तत्वों के लिए

आप विम को बता सकते हैं कि colorscheme आदेश जारी करके एक योजना नाम के बाद क्या रंगीन उपयोग करना है। यहाँ की कोशिश करने के लिए कुछ कर रहे हैं:

:colorscheme desert 
:colorscheme evening 
:colorscheme koehler 

हालांकि, colorschemes के सबसे विम के साथ शामिल वास्तव में, CursorLine तत्व के लिए एक आकर्षण आदेश शामिल नहीं है इसलिए विम सिर्फ अपनी अंतर्निहित डिफ़ॉल्ट cursorline रंग का उपयोग करता है।

रंग विम cursorline के लिए उपयोग करता है को बदलने के लिए, आप अपने .vimrc फ़ाइल में अपने स्वयं के highlight आदेश शामिल कर सकते हैं ( के बाद आप किसी भी colorscheme आदेश जारी किए गए हैं, अन्यथा आपके प्रकाश डाला रंग को मंजूरी दे दी हो सकता है)।बेहतर अभी भी, आप अपनी खुद की रंगीन फ़ाइल बना सकते हैं और उचित हाइलाइट कथन जोड़ सकते हैं। (एक सहिष्णु रंगीन रंग ढूंढकर इसे अपने आप बनाएं, फिर इसे कॉपी करें और जो भी बदलाव आपको पसंद करें।)

विम में कई रंगीन फाइलें शामिल हैं, और आप कई और ऑनलाइन पा सकते हैं।

http://code.google.com/p/vimcolorschemetest/

अधिक जानकारी के लिए नीचे दी गई सहायता विषय देखें:

:help :colorscheme 
:help :highlight 
:help hl-CursorLine 
0

coloescemes पर, cursorline के रंग की संपत्ति सिर्फ "CursorLine कहा जाता है यहाँ एक साइट पूर्वावलोकन कि कुछ सौ है "।

hi CursorLine guibg=#2d2d2d 

आप एक डिफ़ॉल्ट रंग-बदलना चाहते हैं, फ़ाइलें (ज्यादातर Linux वितरण पर) जमा हो जाती है/usr/share/vim पर/vim72/रंग: उदाहरण के लिए, वोमब्रेट रंग-इस लाइन का उपयोग करता है।

केवल एक नोट: कर्सरलाइन विकल्प केवल विम 7 से ऊपर काम करता है, इसलिए बहुत ही असंभव मामले में आप कभी भी उस रंगीन रंग को 7 (या वी) से पहले संस्करण के साथ उपयोग करते हैं, तो आपको colorcheme फ़ाइल पर संस्करण के लिए पूछना चाहिए उदाहरण के लिए:

if version >= 700 
    hi CursorLine guibg=#2d2d2d 
endif 
+0

/usr/share/vim या किसी अन्य सिस्टम-व्यापी स्थान में फ़ाइलों को बदलने की सलाह नहीं दी जाती है, अन्यथा जब आप vim को अपग्रेड करते हैं तो आपको उन्हें सहेजना और स्थानांतरित करना होता है। यदि आप उनमें से एक को पसंद करते हैं और बस कुछ बदलना चाहते हैं, तो उस फ़ाइल को अपने ~/.vim/colors/whatever.vim में कॉपी करें (मुझे सलाह है कि आप इसे अपने चयन के नए नाम पर पुनर्नामित करें)। अब उस फ़ाइल को संपादित करें और 'g g: colors_name' को उस फ़ाइल में बदलें जिसे आपने फ़ाइल के लिए चुना था और जो भी हाइलाइट समूह चाहते हैं उसे बदलें/जोड़ें। नोट, विंडोज़ पर आपका उपयोगकर्ता-विशिष्ट पथ '$ HOME \ vimfiles' होगा। आप रनटाइम पर 'vt rtp?' के साथ पथ vim उपयोग देख सकते हैं। – cptstubing06