2012-04-14 13 views
8

Duplicar posible:
Why is vim drawing underlines on the place of tabs and how to avoid this?VIM: No subrayar espacios iniciales en HTML une

Cuando sangría al código PHP en VIM 7.0 en CentOS 5.x, enlaces HTML se muestran subrayados . Esto es muy útil, pero en algunos lugares que han mellado código PHP en que el HTML, y toda la sangría está subrayado:

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

¿Hay alguna manera de saber el resaltador de sintaxis ignorar espacios en blanco-line líder en enlaces HTML ?

Respuesta

10

me las arreglé para conseguir esto a través de la modificación de $VIMRUNTIME/syntax/html.vim. Haga una copia para ~/.vim/syntax/html.vim (.vim se llama vimfiles en Windows), y sustituir la definición de sintaxis original de

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

con lo siguiente:

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

Más abajo, cambiar

HtmlHiLink htmlLink     Underlined 

a

HtmlHiLink htmlLinkText    Underlined 

Voila! Básicamente, esto introduce otro grupo de sintaxis contenido htmlLinkText, que no coincide con el espacio en blanco inicial y posterior, y aplica el resaltado a eso en su lugar.

+0

Gracias. Por alguna razón, ahora ninguno de los enlaces está resaltado, ¡pero las etiquetas H2 y P están resaltadas! Revisé los cambios cuidadosamente, parece que no puedo encontrarlos. Las ediciones se encuentran alrededor de las líneas 150 y 253 [si desea verlas] (http://pastebin.com/kDPAH7g7). Gracias Ingo! – dotancohen

+0

Sus ediciones están bien, y su archivo funciona para mí. ¿Tiene alguna otra definición, tal vez en un archivo ~/.vim/after/syntax /? –

+0

No, no hay otros archivos o definiciones, incluso intenté con un ~/.vimrc en blanco (por lo que ningún otro .vimrc de todo el sistema se interpondría en el camino). Esto es en un terminal Cygwin SSHing en un cuadro de CentOS 5.x, VIM 7.0. – dotancohen

7

Usted puede hacer esto:

:hi link htmlLink NONE 
+0

Gracias, pero eso deshabilita todos los aspectos destacados del enlace, lo que resulta útil. Estoy buscando desactivar el resaltado solo en el espacio en blanco líder de la línea. – dotancohen

Cuestiones relacionadas