2011-02-10 2 views
3

Existe-t-il des outils pour convertir une définition de style pygments en un gvim colorscheme?Conversion du thème pygments en gvim colorscheme

Je trouve vim2pygments, qui convertit colorschemes vim à pygments thèmes, mais je n'ai rien trouvé à faire l'inverse . Plus précisément, j'utilise macvim, bien que j'imagine que le format colorscheme serait le même pour n'importe quel dérivé de gvim (s'il-vous-plaît, corrigez-moi si je me trompe).

Répondre

1

Je ne suis pas tombé sur quelque chose qui automatisera ce processus, mais il devrait être très facile à faire à la main. Prenez un schéma de couleurs existant, collez-le dans votre répertoire ~/.vim/colors/ et placez les couleurs qui sont définies dans le schéma pygments dans les endroits appropriés.

Par exemple, si vous utilisez my colour scheme (qui utilise un format non standard pour le rendre plus modifiable) et de le rendre utilise le pygments autumn scheme, vous pouvez prendre la ligne qui ressemble à ceci:

let ColourAssignment['Function'] = {"GUIFG": '#007777', "CTERMFG": 'Cyan'} 

et changer pour ressembler à ceci:

let ColourAssignment['Function'] = {"GUIFG": '#00aa00'} 

(je l'ai enlevé l'affectation de terminal couleur que vous avez dit que vous utilisez une interface graphique et il est donc largement hors de propos).

L'ensemble complet ne devrait pas prendre beaucoup de temps. Mon schéma de couleurs est principalement conçu pour les arrière-plans foncés (il ajuste les couleurs si vous passez à un fond clair), mais il ne serait pas très difficile de se débarrasser de cet aspect: changer le surlignage "Normal" pour qu'il soit noir sur blanc. blanc sur noir et supprimer la fonction s:MakeDarker et le bit dans le bloc if &background == 'light'.

Sinon, vous pouvez faire la même chose avec la syntaxe normale en prenant le format mettant en évidence (par exemple) darkblue.vim et le changement (par exemple):

hi ErrorMsg  guifg=#ffffff guibg=#287eff      ctermfg=white ctermbg=lightblue 

et changeant à:

hi ErrorMsg  guifg=#aa0000 guibg=#ffffff      ctermfg=white ctermbg=lightblue