2012-04-14 3 views
8

संभव डुप्लिकेट:
Why is vim drawing underlines on the place of tabs and how to avoid this?विम: एचटीएमएल में अग्रणी खाली स्थान के रेखांकन न करें लिंक

जब विम 7.0 में PHP कोड को इंडेंट CentOS 5.x पर, HTML लिंक रेखांकित दिखाया जाता है । यह बहुत आसान है, लेकिन कुछ स्थानों में मुझे लगता है कि HTML में PHP कोड इंडेंट है, और पूरे खरोज को रेखांकित किया जाता है:

  <li class="picture"> 
________________<a href="<?=$linkUrl?>"> 
____________________<img src="/<?=$img['source']?>" alt="Picture"/> 
____________________<? if ($someCondition): ?><span class="info"><?=$img['info']?></span><? endif; ?> 
________________</a> 
      </li> 

वहाँ किसी भी तरह से HTML लिंक में लाइन की अग्रणी खाली स्थान के अनदेखी करने के लिए वाक्य रचना हाइलाइटर बताने के लिए है ?

उत्तर

10

मैं $VIMRUNTIME/syntax/html.vim को संशोधित करने के माध्यम से इस लक्ष्य को हासिल करने में कामयाब रहे। ~/.vim/syntax/html.vim की एक प्रति (.vim विंडोज पर vimfiles नाम है), और मूल वाक्य रचना परिभाषा निम्नलिखित के साथ

syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 [email protected],htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc 

बदल देते हैं: इसके अलावा नीचे

syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 keepend [email protected],htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLinkText,javaScript,@htmlPreproc 
syn match htmlLinkText contained [email protected],htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLinkText,javaScript,@htmlPreproc "^\s*\zs.\{-}\ze\s*$" 
syn match htmlLinkText contained [email protected],htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLinkText,javaScript,@htmlPreproc "\S.\{-}\ze\s*$" 

, बदल

HtmlHiLink htmlLink     Underlined 
को

HtmlHiLink htmlLinkText    Underlined 

वोला! असल में, यह एक और निहित वाक्यविन्यास समूह htmlLinkText प्रस्तुत करता है, जो अग्रणी और पिछली सफेद जगह से मेल नहीं खाता है, और इसके बजाए हाइलाइटिंग लागू करता है।

+0

धन्यवाद। किसी कारण से, अब कोई भी लिंक हाइलाइट नहीं किया गया है लेकिन एच 2 और पी टैग हाइलाइट किए गए हैं! मैं सावधानी से बदलावों पर चला गया, मुझे लगता है कि मैं उन्हें नहीं ढूंढ सकता। संपादन 150 और 253 के आसपास हैं [यदि आप एक नज़र रखना चाहते हैं] (http://pastebin.com/kDPAH7g7)। धन्यवाद, धन्यवाद! – dotancohen

+0

आपके संपादन ठीक हैं, और आपकी फ़ाइल मेरे लिए काम करती है। क्या आपके पास कोई अन्य परिभाषाएं हैं, शायद ~/.vim/after/syntax/file में? –

+0

नहीं, कोई अन्य फाइल या परिभाषा नहीं, मैंने एक खाली ~/.vimrc के साथ भी कोशिश की (इसलिए कोई अन्य सिस्टम-व्यापी नहीं। Vimrc रास्ते में आ जाएगा)। यह सिगविन टर्मिनल एसएसएचइंग में एक सेंटोस 5.x बॉक्स, वीआईएम 7.0 में है। – dotancohen

7

आप ऐसा कर सकते हैं:

:hi link htmlLink NONE 
+0

धन्यवाद, लेकिन यह सभी लिंक हाइलाइट्स को अक्षम करता है, जो मुझे उपयोगी लगता है। मैं केवल लाइन-अग्रणी व्हाइटस्पेस पर हाइलाइट को अक्षम करने के लिए देख रहा हूं। – dotancohen

संबंधित मुद्दे