2011-01-07 1 views

Répondre

25

Ceci est probablement dû au fait que vous modifiez un fichier html et le texte près du soulignement est à l'intérieur d'une balise <a>.

Pour désactiver ceci, vous pouvez ajouter let html_no_rendering=1 à votre ~/.vimrc. Ce paramètre désactivera également le style gras et italique pour les fichiers html.

Si vous souhaitez désactiver uniquement le soulignement, voir :help html.vim. Là, il vous donne des instructions sur quels groupes de surbrillance vous devez redéfinir sans underline.

+0

laissez html_no_rendering = 1 ressemble à ce dont j'ai besoin, merci! :) – lyuba

2

Il est probablement l'une des deux choses, soit:

  • Vous avez 'list' jeu: (essayez :set list? et si cela dit list, essayez :set nolist)
  • Vous avez une syntaxe configuration mettant en lumière qui accentue les onglets comme souligné. Ajoutez le mappage suivant, placez le curseur sur l'onglet et appuyez sur <F3>. Si le groupe de mise en évidence est affiché, tapez hi GROUPNAME pour confirmer la mise en surbrillance (avec GROUPNAME remplacé par le dernier groupe nommé entre chevrons). Puis ajustez votre schéma de couleurs pour vous débarrasser du soulignement.

Mapping pour identifier le groupe de surbrillance:

map <F3> :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">" . " FG:" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"fg#") . " BG:" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"bg#")<CR> 
+0

Oui, j'ai: set list dans .vimrc, juste pour repérer ceux qui utilisent des tabulations, bien que nous ayons convenu des espaces: D – lyuba

+0

@lyuba ': ret' /': retab' convertira tous les onglets en espaces dans votre fichier. En outre, il devrait être facilement scriptable pour passer tous les onglets avec des espaces. Fais-le, et ils te détesteront pour ça. Si les collègues utilisaient seulement un éditeur décent capable de gérer des espaces ...;) – sjas

8

Cette méthode (pavée à partir d'autres réponses) ne permet de souligner que sous la partie texte du lien sans modifier le fichier de syntaxe html.vim complet.

  1. Créez le fichier ~/.vim/after/syntax/html.vim
  2. Collez le texte suivant dans ce fichier:

    " disable the current htmlLink syntax 
    highlight link htmlLink text 
    
    " enable a new htmlLink syntax 
    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*$" 
    
    " enable the new syntax 
    hi def link htmlLinkText    Underlined 
    
+5

Cette réponse a fonctionné parfaitement sans supprimer d'autres fonctionnalités, bien mieux que la réponse acceptée. –

Questions connexes