Générez, personnalisez et gérez les schémas de couleurs Vim
À l'heure actuelle, ce référentiel ne contient que tous les jeux de couleurs Vim que j'ai pu télécharger depuis le site www.vim.org à l'aide du script downloadVimColorSchemes.sh.
Il existe deux fonctionnalités principales associées à cet utilitaire Vim : la distillation des fichiers de schémas de couleurs (voir le script distill.vim) et la visualisation des fichiers de schémas de couleurs (voir : script viewer.vim).
Un fichier de jeu de couleurs distillé est un fichier de jeu de couleurs qui a été produit en traitant un fichier de jeu de couleurs existant. Le traitement effectue les opérations suivantes :
Il élimine les déclarations de groupe de surbrillance qui sont redondantes,
Il élimine les attributs de groupe qui sont redondants,
Génère un en-tête de commentaire standard et un code VimL initial :
set background= 'light' or 'dark'
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = expand(":t:r")
Définitions de groupes de mise en évidence de sortie ciblées pour des configurations GVim et Vim spécifiques :
if has("gui_running")
" highlights for GVim
elseif &t_Co == 256
" highlights for 256 color Xterm Vim
elseif &t_Co == 88
" highlights for 88 urvxt color Vim
elseif &t_Co == 16
" highlights for 16 color Xterm Vim
else " &t_Co == 8
" highlights for 8 color Xterm Vim
endif
Il élimine les définitions de liens redondantes,
Le jeu de couleurs d'arrière-plan dépend principalement de la valeur d'arrière-plan Normal et non de ce que dit le fichier de jeu de couleurs (car elles mentent parfois).
Le cas échéant, génère à la fois une version « sombre » et « claire » du même fichier de schéma de couleurs de base.
Le visualiseur de schémas de couleurs peut être utilisé pour examiner les fichiers de schémas de couleurs situés dans un répertoire « couleurs ». Cette « révision » consiste à voir un fichier de test affiché en utilisant le jeu de couleurs sélectionné. On peut facilement basculer entre le fichier de test à utiliser (il existe actuellement des fichiers de test pour c, pl, java, scala, tex et html) et le jeu de couleurs.
En utilisant le script bash vim_color_schemes_downloader mentionné ci-dessus, j'ai pu identifier quelque 687 fichiers de schéma de couleurs (bien qu'il puisse y avoir quelques duplications - l'heuristique d'identification unique du script bash était assez simple). Ensuite, en utilisant le script distill.vim, en l'exécutant à la fois depuis Vim dans un Xterm (la configuration cterm) et GVim (la configuration de l'interface graphique), il a généré le nombre suivant de fichiers de schéma de couleurs :
Rien ne prétend qu'ils sont tous uniques ou (du moins actuellement) que tous les plus sombres ont en fait un fond sombre et que tous les clairs ont un fond clair. Mais le script distill.vim a pris les fichiers de schéma de couleurs d'origine, dont la plupart ont été écrits pour GVim, et a produit des fichiers de schéma de couleurs comparables pour Vim.
Un petit nombre de fichiers de schémas de couleurs d'origine contiennent un code VimL qui interdit spécifiquement à un utilisateur de les utiliser s'il n'exécutait pas GVim (ou, selon le cas, Vim). Et un petit nombre étaient simplement cassés (j'ai essayé de les réparer et d'enregistrer ici les versions corrigées).
Quoi qu'il en soit, je pense qu'il s'agit de la plus grande collection de fichiers de schémas de couleurs Vim disponibles.
Le script viewer.vim permet de consulter rapidement et facilement des fichiers de différents types de fichiers en appliquant différents schémas de couleurs.
Il existe un mappage défini dans le fichier plugin/colorschemer.vim
cv
qui fera apparaître une boîte de dialogue à partir de laquelle tous les différents téléspectateurs pourront être lancés. Notez que jusqu'à ce que l'on exécute le script distill.vim sur sa propre machine, ViewerDistilledDark et ViewerDistilledLight ne s'exécuteront pas - il n'y a pas de fichiers de jeu de couleurs dans le répertoire.
data/colorschemer/distill
Des exemples d'images de ce qui peut être vu à l'aide de la visionneuse se trouvent dans le répertoire images.
Un instantané zip de la bibliothèque {ColorSchemer} peut être téléchargé depuis www.vim.org
Dans votre accueil Vim, normalement $HOME/.vim sous Unix, décompressez le fichier :
# cd $HOME/.vim
# unzip colorschemer.zip
Sur un système Windows, vim home est normalement $HOME/vimfiles.
TODO how to unpack on Windows?
{ColorSchemer} est également disponible via githup. On peut télécharger une version depuis github et extraire le contenu.
Si, en tant que développeur, vous souhaitez des correctifs au fur et à mesure qu'ils apparaissent, vous pouvez cloner le référentiel github {ColorSchemer} et, au fur et à mesure que les mises à jour apparaissent, copier les fichiers vers votre emplacement d'accueil Vim.
Vim dispose d'un certain nombre de gestionnaires de plugins tiers. Si vous en utilisez un, vous pouvez le configurer pour télécharger et installer automatiquement {ColorSchemer}. TODO comment utiliser le gestionnaire de plugins VAM
Forms dépend de la Self Library, un système d'objets basé sur un prototype : VIM ou GitHup et de la bibliothèque Forms de VIM ou GitHup.
Après décompression, la disposition du répertoire ColorSchemer devrait ressembler à :
$HOME/.vim/
autoload/
colorschemer/
distill.vim
" generate distilled color scheme files
util.vim
viewer.vim
" view test files with their syntax allowing for
" very quick toggling through color schemes
data/
" data that persists between invocations of a plugin
colorschemer/
" colorschemer data
colors/
" source Vim color scheme files (some 688 of them!)
distilled/
" target directory for files generated by distill.vim
distilled.cterm/
" generated using distill.vim in Vim
distilled.gui/
" generated using distill.vim in GVim
test/
" test source files (c, pl, java, scala, tex, html)
" users can add addition ones
doc/
colorschemer.txt
plugin/
colorschemer.vim
Pour plus d'informations sur vim-addon-manager, consultez vim-addon-manager et Vim-addon-manager pour commencer.
Dans votre .vimrc, ajoutez self comme indiqué ci-dessous :
fun SetupVAM()
...
let g:vim_addon_manager = {}
let g:vim_addon_manager.plugin_sources = {}
....
let g:vim_addon_manager.plugin_sources['self'] = {'type': 'git', 'url': 'git://github.com/megaannum/self'}
let g:vim_addon_manager.plugin_sources['forms'] = {'type': 'git', 'url': 'git://github.com/megaannum/forms'}
let g:vim_addon_manager.plugin_sources['colorschemer'] = {'type': 'git', 'url': 'git://github.com/megaannum/colorschemer'}
let plugins = [
'self',
'forms',
'colorschemer'
]
call vam#ActivateAddons(plugins,{'auto_install' : 0})
...
endf
call SetupVAM()
Maintenant, démarrez Vim. vim-addon-manager vous demandera si vous souhaitez télécharger et installer le plugin self (pas de dépendances).
Je n'utilise pas d'agent pathogène. Un exemple d'utilisation serait le bienvenu.
Il existe un mappage dans le répertoire du plugin pour le colourschemer qui fera apparaître un formulaire permettant de consulter les différents fichiers de schéma de couleurs disponibles à la fois avec cet utilitaire et ailleurs sur son système.
nmap cv :call colorschemer#viewer#ViewerForm()
Les différents visualiseurs peuvent également être exécutés avec les éléments suivants.
Pour les schémas de couleurs distillés générés à l'aide de Vim
call colorschemer#viewer#ViewerDistilledCtermDark()
call colorschemer#viewer#ViewerDistilledCtermLight()
Pour les schémas de couleurs distillés générés à l'aide de GVim
call colorschemer#viewer#ViewerDistilledGuiDark()
call colorschemer#viewer#ViewerDistilledGuiLight()
Pour les schémas de couleurs distillés générés par l'utilisateur final
call colorschemer#viewer#ViewerDistilledDark()
call colorschemer#viewer#ViewerDistilledLight()
Pour les jeux de couleurs trouvés dans $HOME/.vim/colors ou $HOME/vimfiles/colors de l'utilisateur
call colorschemer#viewer#ViewerHomeColors()
Pour parcourir les répertoires locaux pour trouver le répertoire « couleurs » à afficher
call colorschemer#viewer#ViewerBrowse()
Pour accéder à l’une des options d’affichage des schémas de couleurs ci-dessus, utilisez :
call colorschemer#viewer#ViewerForm()
Devrait fonctionner partout où Forms fonctionne.
Aucun disponible pour l'instant.
Aucun pour l'instant.