विम में कई हाइलाइट नियम स्थापित करना


16

मैं अनुगामी व्हॉट्सएप और रेखाओं को उजागर करने के लिए नियम स्थापित करने की कोशिश कर रहा हूं, जो इसे मेरे .imrc में जोड़कर एक निश्चित लंबाई से अधिक हैं।

highlight ExtraWhitespace ctermbg=lightgray guibg=lightgray
match ExtraWhitespace /\s\+$/

highlight OverLength ctermbg=lightgray guibg=lightgray
match OverLength /\%>80v.\+/

हालाँकि, ऐसा लगता है कि जो भी अंतिम हो, वह उठाएगा। मैं उन्हें एक साथ दोनों काम करने के लिए एक रास्ता नहीं मिल सकता है।

जवाबों:


9

एक रास्ता:

highlight EWOL ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black
match EWOL /\%>20v.\+\|\s\+$/

एक और:

highlight ExtraWhitespace ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black
match ExtraWhitespace /\s\+$/

highlight OverLength ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black
2match OverLength /\%>80v.\+/

भी उपलब्ध 3match:। एक बार में तीन मैच तक सक्रिय हो सकते हैं। या आप matchadd()मात्रा की सीमा के बिना मैच बनाने के लिए उपयोग कर सकते हैं ।

नोट: 3match मैचप्रेन द्वारा उपयोग किया जाता है, इसलिए यदि आप इसका उपयोग करते हैं तो संघर्ष होगा।


7

उपयोग करें matchadd(), इसलिए इसे अपने में जोड़ें .vimrc:

highlight ExtraWhitespace ctermbg=grey guibg=grey
call matchadd('ExtraWhitespace', '\s\+$', 11)

highlight OverLength ctermbg=lightgrey guibg=lightgrey
call matchadd('OverLength', '\%>80v.\+')

सभी मैच देखने के लिए:

:echo getmatches()

मैचों का उपयोग हटाने के लिए matchdelete()


1

इसका उपयोग करने के बारे में क्या

: sy [ntax] मैच {समूह-नाम} [{विकल्प}] [बहिष्कृत] {पैटर्न} [{विकल्प}]

:highlight ExtraWhitespace ctermbg=lightgray guibg=lightgray
:syntax match ExtraWhitespace /\s\+$/
:highlight OverLength ctermbg=lightgray guibg=lightgray
:syntax match OverLength /\%>80v.\+/

आप इसका उपयोग करके कई संख्याओं से मेल खा सकते हैं ...

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