मैं विम स्पेलचेक में हाइलाइट स्टाइल कैसे बदलूं?


90

अभी, जब मैं :set spellअपने विम में करता हूं, मुझे वर्तनी की त्रुटियां उजागर होती हैं जैसे कि वे चयनित पाठ हैं। मैं जो चाहता हूं, वह एक एमएस-वर्ड है जैसे वर्तनी त्रुटियों को रेखांकित करना। मैंने देखने की कोशिश की, :help spellलेकिन सुराग नहीं मिला। किसी भी मदद की सराहना की है।

जवाबों:


127

SpellBadहाइलाइटिंग समूह का उपयोग करते हुए वर्तनी की त्रुटियों को उजागर किया जाता है । जैसा कि आप चाहते हैं, इसे उजागर करने के लिए, आपको कुछ ऐसा करना चाहिए

hi clear SpellBad
hi SpellBad cterm=underline
" Set style for gVim
hi SpellBad gui=undercurl

अंतिम पंक्ति के बाद जो आपके vimrc में रंग योजना को बदल रहा है (यह set background=(dark|light)या तो है colorscheme {schemename})।

:h hl-SpellBadअन्य वर्तनी * हाइलाइट समूहों के नाम और विवरण भी देखें ।


1
मुझे इससे हराएं! यह भी उल्लेखनीय है कि undercurl(एमएस शब्द के समान "स्किगली") जीवीएम में डिफ़ॉल्ट है, हालांकि स्पष्ट रूप से, टर्मिनल में "स्क्विगली" बनाने का कोई तरीका नहीं है।
जो किंगटन

23
एक रंग बदलने के लिए भी उपयोगी हो सकता है, जैसे :hi SpellBad cterm=underline ctermfg=red,। या यह रेखांकित और बोल्ड है :hi SpellBad cterm=underline,bold:।
हर्बर्ट सिट्ज

@yoda की जगह कहां? एक एक्स टर्मिनल बनाना असंभव नहीं है जो स्क्लीग्ली अंडरलाइनिंग का समर्थन करता है, लेकिन मुझे उस सुविधा के बारे में नहीं पता है जिसका मैं उपयोग करता हूं। और मुझे लगता है कि इस टर्मिनल में सामान्य के बजाय या तो स्क्वैगली अंडरलाइनिंग होगी या मैनुअल पैचिंग के बिना विम द्वारा असमर्थित किया जाएगा।
ZyX

@ZyX: मुझे नहीं पता, बस सोच रहा था। मेरे सभी इसे ----भी दिखाते हैं, लेकिन यह सिर्फ तर्कसंगत लग रहा था कि स्क्वीगली में बदलने के -साथ सिर्फ जगह बदलना चाहिए ~, लेकिन मैं वहां गलत हो सकता था।
ABCD

1
@ योदा: मुझे वह जगह नहीं मिली जहां ----दिखाया गया है? टर्मिनल अंडरलाइनिंग के लिए प्रतीकों का उपयोग नहीं करते हैं (हालांकि आप हमेशा अपनी मर्जी से लिख सकते हैं), वे विशेष रूप से «एस्केप रेखांकित क्षेत्र» के रूप में विम द्वारा भेजे गए विशेष एस्केप अनुक्रम की व्याख्या करते हैं और एक अन्य अनुक्रम «अंत रेखांकित क्षेत्र» (या यहां तक ​​कि «सभी स्पष्ट) शैलियों »)। वास्तव में जो दिखाया गया है वह टर्मिनलों के कोड में निर्धारित किया गया है, लेकिन मुझे लगता है कि उनमें से ज्यादातर बस स्टाइल की जानकारी को फॉन्ट रेंडरिंग लाइब्रेरी में पास करते हैं। यहां कुछ भी टर्मिनलों को स्क्वीगली अंडरलाइनिंग का समर्थन करने से रोकता है, लेकिन फ़ॉन्ट लाइब्रेरी अंडरलाइनिंग के लिए प्रतीकों का उपयोग नहीं करते हैं।
ZyX

1

उपर्युक्त को टाइप करने की जरूरत है हर बार जब आप colorcheme सेट करते हैं। यदि आप इससे बचना चाहते हैं, तो आपको इसका उपयोग करना चाहिए autocmd

Https://vi.stackexchange.com/questions/18295/how-to-set-a-colorscheme-that-still-shows-spelling-errors देखें

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