2012-04-14 16 views
8

Powiel możliwe:
Why is vim drawing underlines on the place of tabs and how to avoid this?VIM: Nie podkreślić wiodącą spacje w HTML linki

Kiedy wcięcia kodu PHP w VIM 7.0 na CentOS 5.x, linki HTML są pokazane podkreślone . Jest to bardzo przydatne, ale w niektórych miejscach mam wcięty kod PHP w tym HTML, a całe wcięcie jest podkreślony:

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

Czy jest jakiś sposób, aby powiedzieć wyróżnienia składni ignorować linii wiodące spacje w linki HTML ?

Odpowiedz

10

udało mi się to osiągnąć poprzez modyfikację $VIMRUNTIME/syntax/html.vim. Zrób kopię ~/.vim/syntax/html.vim (.vim nazwie vimfiles w systemie Windows) i zastąpić oryginalny definicji składni

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

z poniższym:

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*$" 

Dalej w dół, zmień

HtmlHiLink htmlLink     Underlined 

do

HtmlHiLink htmlLinkText    Underlined 

Voila! Zasadniczo wprowadza to inną, zawierającą składnię grupę htmlLinkText, która nie pasuje do początkowych i końcowych białych znaków i zamiast tego stosuje podświetlanie.

+0

Dziękuję. Z jakiegoś powodu, teraz żaden z linków nie jest podświetlony, ale znaczniki H2 i P są podświetlone! Przeszedłem ostrożnie nad zmianami, nie mogę ich znaleźć. Zmiany dotyczą linii 150 i 253 [jeśli chcesz się przyjrzeć] (http://pastebin.com/kDPAH7g7). Dziękuję Ingo! – dotancohen

+0

Twoje zmiany są w porządku, a twój plik działa dla mnie. Czy masz jakieś inne definicje, może w ~/.vim/after/syntax/file? –

+0

Nie, żadnych innych plików ani definicji, próbowałem nawet z pustym ~/.vimrc (więc żaden inny systemowy .vimrc nie stanąłby na przeszkodzie). To jest w CJHing terminalu Cygwin do skrzynki CentOS 5.x, VIM 7.0. – dotancohen

7

Można to zrobić:

:hi link htmlLink NONE 
+0

Dzięki, ale to wyłącza wszystkie najważniejsze linki, które uważam za użyteczne. Szukam wyłączenia podświetlenia tylko w wiodącym odstępie wiersza. – dotancohen

Powiązane problemy