केवल विम की सक्रिय विंडो के लिए पृष्ठभूमि रंग कैसे सेट करें?


16

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

यहाँ एक स्केच है जो मैं बाद में हूँ:

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

आम तौर पर उस विम की पृष्ठभूमि पूरी तरह से काले रंग की होगी, लेकिन यदि उपयोगकर्ता के ध्यान को आकर्षित करने के लिए केवल सक्रिय विंडो का अपना रंग होता है। सिर्फ स्टेटसबार को हाइलाइट करना ही काफी नहीं है!

जवाबों:


8

हेप्टाइट, विचार के लिए धन्यवाद।

मैं सिर्फ प्रत्येक पंक्ति के सामने लाइन नंबर जोड़ने / हटाने के लिए WinEnter और WinLeave ऑटोकैम की जगह लेता हूं:

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set number
    autocmd WinLeave * set nonumber
augroup END

अब यह देखने के लिए अधिक स्टाइलिश है कि कौन सी विंडो सक्रिय है।


यह अच्छा है। बहुत बुरा मैं फैंसी लाइन नंबर बहुत ज्यादा नहीं है तो यह बहुत असुविधाजनक है।
nperson325681

3

डिफ़ॉल्ट पृष्ठभूमि रंग को नियंत्रित करने वाले हाइलाइट समूह " Normal" और " NonText" हैं। दुर्भाग्य से ये "वैश्विक" हाइलाइट हैं और प्रति-खिड़की के आधार पर "स्थानीयकृत" नहीं हो सकते हैं।

हालाँकि, यहाँ एक सही बदसूरत उदाहरण है:

बीग्रहीलाइट ऑटोकैमड को
    बढ़ाएं!
    हाइलाइट करें ActiveWindow guibg = lightblue
    autocmd WinEnter * call matchadd ('ActiveWindow', '। *', 10, 1682)
    autocmd WinLeave * call matchdelete (1682)
augroup END

doautocmd BgHighlight WinEnter -।

चूंकि यह सिर्फ एक उदाहरण है, इसलिए आपको अपनी व्यक्तिगत आवश्यकताओं के अनुरूप इसे संशोधित करना होगा, जैसे कि एक ctermbg को जोड़ना = ... guibg के साथ हाइलाइट करना = ...

दोष यह है कि यह फ़ाइलों में मौजूदा पाठ की पृष्ठभूमि को उजागर करेगा, न कि पूरी लाइन / विंडो को। (जैसा मैंने कहा, बदसूरत और कर्कश।)


अच्छी सोच, लेकिन पैटर्न .*केवल एक फ़ाइल के पाठ से मेल खाता है; बाकी पृष्ठभूमि से कुछ भी नहीं। इसके अलावा, मुझे केवल ctermbgप्रॉपर्टी के साथ टर्मिनल में काम करने को मिला । अजीब ...
nperson325681

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