2010-03-14 8 views

Répondre

5

Ce n'est pas possible avec la syntaxe intégrée. Cependant, il peut être fait si le vous faites votre propre syntaxe:

let UglyColor = '#40ffff' 
let Greenish = '#00dd00' 
let MyStyle = 'bold' 
exe 'hi Keyword gui=' . MyStyle . ' guifg=' . UglyColor 
exe 'hi Comment guifg=' . Greenish 

Vous pouvez alors aller plus loin en créant un dictionnaire:

let UglyColor = '#40ffff' 
let Greenish = '#00dd00' 
let ColourAssignment = {} 
let ColourAssignment['Keyword'] = {"GUIFG": UglyColor, "GUI": "Bold"} 
let ColourAssignment['Comment'] = {"GUIFG": Greenish} 

Et ensuite traiter avec quelque chose comme ceci:

for key in keys(ColourAssignment) 
    let s:colours = ColourAssignment[key] 
    if has_key(s:colours, 'GUI') 
     let gui = s:colours['GUI'] 
    else 
     let gui='NONE' 
    endif 
    if has_key(s:colours, 'GUIFG') 
     let guifg = s:colours['GUIFG'] 
    else 
     let guifg='NONE' 
    endif 
    if has_key(s:colours, 'GUIBG') 
     let guibg = s:colours['GUIBG'] 
    else 
     let guibg='NONE' 
    endif 
    if key =~ '^\k*$' 
     execute "hi ".key." term=".term." cterm=".cterm." gui=".gui." ctermfg=".ctermfg." guifg=".guifg." ctermbg=".ctermbg." guibg=".guibg." guisp=".guisp 
    endif 

Voici comment fonctionne my Bandit colour scheme (avec un peu plus logique là-dedans pour les couleurs de CTERM génératrices automatique, les couleurs de fond clair et un fichier de syntaxe de sorte que le schéma de couleurs auto-highl ights). N'hésitez pas à jeter un oeil à celui-là et voler les fonctions et le format de votre propre jeu de couleurs.

Questions connexes