Comment obtenir la liste de tous les jeux de couleurs installés dans Vim?

431

Existe-t-il un moyen d'obtenir une liste de tous les jeux de couleurs installés dans Vim? Cela rendrait très facile d'en sélectionner un sans regarder le .vimrépertoire.

tunnuz
la source

Réponses:

620

Type

:colorschemepuis Spacesuivi de TAB.

ou comme l'a dit Peter,

:colorschemepuis SpacesuiviCTRLd

La version courte de la commande est :colodonc vous pouvez l'utiliser dans les deux commandes précédentes, au lieu d'utiliser le "formulaire long".

Si vous souhaitez trouver et prévisualiser plus de thèmes, il existe différents sites Web comme les couleurs Vim

Xavier T.
la source
41
Essayez également<c-d>
Peter Rincker
1
<cd> est en fait mieux si vous avez beaucoup de schémas installés.
Xavier T.
2
Ou si vous en avez, :set wildmenuvous obtiendrez le même effet <c-d>qu'avec l'onglet de frappe.
Conrad.Dean
A travaillé pour moi après avoir ajouté de l'espace après :colorscheme. C'est peut-être quelque chose de trivial, cependant, il m'a fallu du temps pour le révéler.
jutky
4
:colon'est pas vraiment la forme courte . C'est juste terminé car il n'y a pas de commandes en conflit. Si vous avez fait une commande comme "colobanana", alors il :coloy aurait plus d'une "forme longue", donc cela ne fonctionnerait pas comme suggéré.
dylnmc
53

Vous pouvez voir la liste des schémas de couleurs sous /usr/share/vim/vimNN/colors(avec NNétant la version, par exemple vim74pour vim 7.4).

Ceci est expliqué ici .

Sur les serveurs Linux j'utilise via ssh, TABimprime ^Iet CTRLdimprime ^D.

Fabien
la source
10
Cela manque les schémas de couleurs installés par l'utilisateur (sous le répertoire personnel).
Cristian Ciupitu
4
Le chemin vers les tableaux de couleurs, exactement ce que je cherchais merci!
Corepuncher
1
Notez que le NNin vimNNcorrespondra à la version de vim, par exemple vim74pour vim 7.4. Je voulais juste le signaler parce que je suis lent et cela m'a fait faire une double prise quand je suis allé chercher;)
Adam P
1
@AdamP J'ai ajouté la précision dans la réponse.
Fabien
43

Juste pour référence pratique car je vois qu'il y a beaucoup de gens qui recherchent ce sujet et sont trop paresseux ... désolé, occupé, pour se vérifier (y compris moi). Voici une liste de l'ensemble de couleurs par défaut pour Vim 7.4:

blue.vim
darkblue.vim,
delek.vim
desert.vim
elflord.vim
evening.vim
industry.vim                                                                                                                                                 
koehler.vim                                                                                                                                                  
morning.vim                                                                                                                                                  
murphy.vim                                                                                                                                                   
pablo.vim                                                                                                                                                    
peachpuff.vim                                                                                                                                                
ron.vim                                                                                                                                                      
shine.vim                                                                                                                                                    
slate.vim                                                                                                                                                    
torte.vim                                                                                                                                                    
zellner.vim 
runlevel0
la source
5
Liste très utile. Pour ceux qui ont des yeux plus âgés et qui sont encore plus occupés, voici ceux que j'ai trouvé les plus lisibles: delek, koehler, slate & zellner. J'ai sélectionné zellner.
theRiley
De bons choix, mais peut-être un peu trop de couleur rouge pour moi. Je préfère le désert, qui utilise le turquoise / bleu clair. (Dans vim, tapez: colours desert)
HAltos
J'ai toujours utilisé torte qui me semble avoir un bon contraste et qui n'essaye pas d'être un "style", et qui ne "gaspille pas la bande passante du contraste" en rendant les couleurs similaires.
NeilG
15

Si vous êtes prêt à installer un plugin, je recommande https://github.com/vim-scripts/CycleColor .

pour parcourir tous les schémas de couleurs installés. Belle façon de choisir facilement un schéma de couleurs.

John C Earls
la source
9

Voici une petite fonction que j'ai écrite pour essayer tous les thèmes de couleurs du répertoire $ VIMRUNTIME / colors.

Ajoutez la fonction ci-dessous à votre vimrc, puis ouvrez votre fichier source et appelez la fonction depuis la commande.

function! DisplayColorSchemes()
   let currDir = getcwd()
   exec "cd $VIMRUNTIME/colors"
   for myCol in split(glob("*"), '\n')
      if myCol =~ '\.vim'
         let mycol = substitute(myCol, '\.vim', '', '')
         exec "colorscheme " . mycol
         exec "redraw!"
         echo "colorscheme = ". myCol
         sleep 2
      endif
   endfor
   exec "cd " . currDir
endfunction
chappar
la source
1
appeler DisplayColorSchemes ()
Haagenti
8

Si vous avez votre vim compilé avec +menu, vous pouvez suivre les menus avec le :helpde console-menu. À partir de là, vous pouvez accéder à Edit.Color\ Schemela même liste qu'avec in gvim.

Une autre méthode consiste à utiliser un script ScrollColors sympa qui prévisualise les schémas de couleurs pendant que vous faites défiler les schémas avec j/k.

nperson325681
la source
6

En regardant le menu.vim de mon système (recherchez le «sous-menu Color Scheme») et la réponse de @ chappar, j'ai trouvé la fonction suivante:

" Returns the list of available color schemes
function! GetColorSchemes()
   return uniq(sort(map(
   \  globpath(&runtimepath, "colors/*.vim", 0, 1),  
   \  'fnamemodify(v:val, ":t:r")'
   \)))
endfunction

Il fait ce qui suit:

  1. Obtient la liste des scripts de jeu de couleurs disponibles sous tous les chemins d'exécution (globpath, runtimepath)
  2. Mappe les chemins de script à leurs noms de base (supprime les répertoires parent et l'extension) (map, fnamemodify)
  3. Trie et supprime les doublons (uniq, tri)

Ensuite, pour utiliser la fonction, je fais quelque chose comme ceci:

let s:schemes = GetColorSchemes()
if index(s:schemes, 'solarized') >= 0
   colorscheme solarized
elseif index(s:schemes, 'darkblue') >= 0
   colorscheme darkblue
endif

Ce qui signifie que je préfère les schémas «solarisés» puis «bleu foncé»; si aucun d'entre eux n'est disponible, ne faites rien.

roy
la source
3

Une excellente solution, et mes remerciements à vos contributeurs. Pendant des années, j'ai eu du mal avec un schéma de couleurs totalement merdique - en utilisant SSH sous Windows Vista pour un système Redhat, de type terminal xterm. L'éditeur proposerait un fond noir et des couleurs étranges pour divers mots clés. Pire - ce schéma de couleurs étrange reste dans le terminal xterm après avoir quitté Vim.

Vraiment déroutant.

De plus, Backspace a échoué pendant un mode d'insertion, ce qui était méchant à retenir - bien que Delete ait fait la même chose.

Le traitement --

  1. Dans le moniteur SSH, sélectionnez Modifier / Paramètres.

    une. Choisissez les paramètres / couleurs du profil

    b. cochez «Activer les couleurs ANSI»

    c. Les couleurs de texte standard sont probablement OK

  2. Ajoutez ces lignes à $ HOME / .vimrc:

    couleur par défaut

    si & term == "xterm"

    définir t_kb = ^ H

    fixdel

    fin si

  3. REMARQUE: le ^ H DOIT être tapé comme ctrl-V ctrl-H. Semble particulier, mais cela semble fonctionner.

William Barrett
la source
0

Essayer

set wildmenu
set wildmode=list:full
set wildcharm=<C-z>
let mapleader=','
nnoremap <leader>c :colorscheme <C-z><S-Tab>

dans votre ~/.vimrc.

Les deux premières lignes permettent aux correspondances d'apparaître sous forme de listes. Vous pouvez utiliser l'un ou les deux.

La quatrième ligne fait le leader ,au lieu de la valeur par défaut \.

La dernière ligne vous permet de taper simplement ,cpour obtenir une liste et une invite pour changer votre schéma de couleurs.

La troisième ligne permet effectivement à Tabs d'apparaître dans les cartes clés.

(Bien sûr, toutes ces stratégies que j'ai apprises sur Internet, et surtout SO, très récemment.)

Brady Trainor
la source
0

Une autre façon plus simple est lorsque vous modifiez un fichier - tabe ~/.vim/colors/ ENTER ouvrira tous les thèmes dans un nouvel onglet dans la fenêtre vim.

Vous pouvez revenir au fichier que vous éditiez en utilisant - CTRL + W + W ENTER

Remarque: ci-dessus fonctionnera UNIQUEMENT SI VOUS AVEZ un .vim/colorsrépertoire dans votre répertoire personnel pour le courant $USER (j'ai plus de 70 thèmes)

[utilisateur @ hôte ~] $ ls -l ~ / .vim / couleurs | wc -l

72

nitinr708
la source