web-dev-qa-db-fra.com

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

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

389
tunnuz

Type

:colorscheme alors Space suivi par TAB.

ou comme Peter a dit,

:colorscheme alors Space suivi par CTRLd

La version abrégée de la commande est :colo afin que vous puissiez l'utiliser dans les deux commandes précédentes, au lieu d'utiliser la "forme longue".

Si vous souhaitez rechercher et prévisualiser plusieurs thèmes, il existe différents sites Web tels que Vim colors

569
Xavier T.

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

Ceci est expliqué ici .

Sur les serveurs Linux que j'utilise via ssh, TAB imprime ^I et CTRLd imprime ^D.

48
Fabien

Juste pour référence pratique car je vois qu'il y a beaucoup de personnes qui recherchent ce sujet et qui sont trop laz ... désolée, occupée, pour se vérifier (y compris moi). Voici une liste des jeux 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 
28
runlevel0

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

faire défiler toutes les couleurs installées. Belle façon de choisir facilement un colorcheme.

12
John C Earls

Voici une petite fonction que j'ai écrite pour essayer toutes les couleurs du répertoire $ VIMRUNTIME/colors.

Ajoutez la fonction ci-dessous à votre vimrc, puis ouvrez votre fichier source et appelez la fonction à partir de 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
7
chappar

Si votre vim est compilé avec +menu, vous pouvez suivre les menus avec le :help de console-menu. À partir de là, vous pouvez accéder à Edit.Color\ Scheme pour obtenir la même liste que dans gvim.

Une autre méthode consiste à utiliser un script sympa ScrollColors qui permet de prévisualiser les couleurs avant de faire défiler les modèles avec j/k.

6
souser12345

En regardant menu.vim de mon système (recherchez le sous-menu 'Color Scheme') et la réponse de @ chappar, je suis arrivé à 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 combinaisons de couleurs disponibles sous tous les chemins d'exécution (globpath, runtimepath).
  2. Mappe les chemins de script sur leurs noms de base (supprime les répertoires parent et leurs extensions) (map, fnamemodify)
  3. Trie et supprime les doublons (uniq, trie)

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 régimes "solarisé", puis "sombre"; si aucun d'entre eux n'est disponible, ne faites rien.

5
roy

Une excellente solution, et merci à vos contributeurs. Pendant des années, je me suis débattu avec un schéma de couleurs totalement merdique: utiliser SSH sous Windows Vista sur un système Redhat, type terminal xterm. L'éditeur proposerait un fond noir et des couleurs étranges pour divers mots clés. Pire encore - cet étrange jeu de couleurs se bloque dans le terminal xterm après avoir quitté Vim.

Vraiment déroutant.

De plus, le retour arrière a échoué lors d’un mode d’insertion, ce qui était désagréable à retenir - bien que Delete ait fait la même chose.

Le traitement --

  1. Dans le moniteur SSH, sélectionnez Edit/Settings.

    une. Choisissez Paramètres du profil/Couleurs

    b. cocher 'activer les couleurs ANSI'

    c. Les couleurs standard du texte sont probablement OK

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

    colorscheme default

    si & term == "xterm"

    set t_kb = ^ H

    fixdel

    fin si

  3. NOTE: le ^ H DOIT être saisi comme ctrl-V ctrl-H. Cela semble étrange, mais cela semble fonctionner.

2
William Barrett

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 font apparaître les correspondances possibles sous forme de listes. Vous pouvez utiliser l'un ou l'autre ou les deux.

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

La dernière ligne vous permet de taper simplement ,c pour 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 principalement SO, très récemment.)

0
Brady Trainor