2009-02-16 6 views
4

J'ai été inspiré par this (numéro 2) pour rendre mes cordes dur codées laides.Comment puis-je faire des chaînes codées en dur dans un VIM?

Comment puis-je faire cela dans VIM?

+0

Je me demandais juste; Détestez-vous le type de variable de chaîne? – Suroot

+0

@Suroot: Les chaînes codées en dur doivent être évitées autant que les nombres "magiques" dans votre code source. Faire des chaînes codées en dur laide les fait ressortir de sorte que vous pouvez les repérer et les retirer plus facilement. –

+0

Je ne suis pas d'accord, Bill. Les chaînes codées en dur sont parfois mauvaises à des fins de traduction, mais elles ne sont pas aussi mauvaises que les nombres magiques puisqu'elles portent leur définition dans leur contenu. La chaîne "Can not open file" est tout aussi bonne que ERR_CANNOT_OPEN_FILE. – paxdiablo

Répondre

6

Les fichiers basés sur les langages sont stockés dans $VIMRUNTIME/syntax, un fichier .vim par langue, c'est donc là que vous devez aller pour changer les choses.

Par exemple, mon fichier C est stocké dans C:\Program Files\Vim\vim70\syntax\c.vim et, si vous ajoutez la ligne suivante à la fin, avant la let b:current_syntax = "c", vous obtiendrez l'effet exact dont vous avez besoin:

hi String guifg=#ff0000 guibg=#ffff00 

Pour texte- basé VIM, les options de ctermfg et ctermbg doivent être utilisés à la place, quelque chose comme:

hi String ctermfg=Red ctermbg=Yellow 

Je ne l'ai pas testé ces puisque je n'utilise que gvim de nos jours.

4

Dans votre .vimrc:

highlight String guifg=1 guibg=11 
+0

hm ... cela dépend de l'installation. ça ne marche pas pour moi. Vous pouvez m'avoir donné assez pour chasser et picorer mon chemin cependant. Merci! –

+0

Cela suppose gvim. Pour la version de ligne de commande, utilisez ctermfg et ctermbg. De plus, vous devez activer la coloration syntaxique. –

+0

ouf! c'est haineux! Merci :) –

0
highlight clear String 
highlight link String Error 

Un peu plus haut l'OMI, de sorte que vous voudrez peut-être de ne pas le rendre permanent.

Questions connexes