Come ottenere l'elenco di tutte le combinazioni di colori installate in Vim?


431

C'è un modo per ottenere un elenco di tutte le combinazioni di colori installate in Vim? Ciò renderebbe molto semplice selezionarne uno senza guardare la .vimdirectory.

Risposte:


620

genere

:colorschemequindi Spaceseguito da TAB.

o come disse Pietro,

:colorschemequindi Spaceseguito daCTRLd

La versione breve del comando è :coloquindi è possibile utilizzarlo nei due comandi precedenti, anziché utilizzare la "forma lunga".

Se vuoi trovare e visualizzare in anteprima più temi, ci sono vari siti Web come i colori di Vim


41
Prova anche<c-d>
Peter Rincker,

1
<cd> è effettivamente meglio se hai installato molti schemi.
Xavier T.

2
Oppure, se hai :set wildmenuqualcosa, ottieni lo stesso effetto della <c-d>scheda colpire.
Conrad.Dean,

Ha funzionato per me dopo aver aggiunto spazio dopo :colorscheme. Forse è qualcosa di banale, tuttavia, mi ci è voluto del tempo per rivelarlo.
jutky

4
:colonon è davvero la forma abbreviata . È appena completato perché non ci sono comandi in conflitto. Se eseguissi un comando come "colobanana", allora :coloavresti più di una "forma lunga", quindi non funzionerebbe come suggerito.
dylnmc,

53

Puoi vedere l'elenco delle combinazioni di colori sotto /usr/share/vim/vimNN/colors(con NNla versione, ad es. vim74Per vim 7.4).

Questo è spiegato qui .

Sui server Linux che uso tramite SSH, TABstampe ^Ie CTRLdstampe ^D.


10
Che manca le combinazioni di colori installate dall'utente (nella directory home).
Cristian Ciupitu,

4
Il percorso verso le tabelle dei colori, esattamente quello che stavo cercando, grazie!
Corepuncher,

1
Si noti che NNin vimNNcorrisponderà alla versione di vim, ad esempio vim74per vim 7.4. Volevo solo evidenziarlo perché sono lento e mi ha fatto fare una doppia interpretazione quando sono andato a cercare;)
Adam P

1
@AdamP Ho aggiunto la precisione nella risposta.
Fabien,

43

Solo per un comodo riferimento in quanto vedo che ci sono molte persone che cercano questo argomento e sono troppo pigre ... scusate, occupate, per controllare se stesse (incluso me). Ecco un elenco del set predefinito di combinazioni di colori per 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 

5
Elenco molto utile Per quelli con gli occhi più grandi e che sono ancora più indaffarati, ecco quelli che ho trovato più leggibili: delek, koehler, ardesia e zellner. Ho selezionato Zellner.
theRiley

Buone scelte, ma forse un po 'troppo di colore rosso per me. Preferisco il deserto, che usa turchese / azzurro. (In vim, digitare: colors desert)
HAltos,

Ho sempre usato torte che per me sembra avere un buon contrasto e non cerca di essere uno "stile", e non "spreca la larghezza di banda del contrasto" rendendo i colori simili.
NeilG,


9

Ecco una piccola funzione che ho scritto per provare tutti i colori nella directory $ VIMRUNTIME / colors.

Aggiungi la funzione seguente al tuo vimrc, quindi apri il tuo file sorgente e chiama la funzione dal comando.

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

1
chiama DisplayColorSchemes ()
Haagenti il

8

Se hai compilato il tuo vim +menu, puoi seguire i menu con il simbolo :helpdi console-menu. Da lì, puoi navigare Edit.Color\ Schemeper ottenere lo stesso elenco di con in gvim.

Un altro metodo consiste nell'utilizzare uno script Cool ScrollColors che visualizza l'anteprima dei colori durante lo scorrimento degli schemi j/k.


6

Osservando il menu.vim del mio sistema (cercare il sottomenu "Combinazioni colori") e la risposta di @ chappar, ho trovato la seguente funzione:

" 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

Fa quanto segue:

  1. Ottiene l'elenco degli script di combinazioni colori disponibili in tutti i percorsi di runtime (globpath, runtimepath)
  2. Associa i percorsi degli script ai loro nomi di base (elimina le directory e le estensioni principali) (map, fnamemodify)
  3. Ordina e rimuove i duplicati (uniq, ordinamento)

Quindi per usare la funzione faccio qualcosa del genere:

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

Il che significa che preferisco gli schemi "solarizzati" e poi "blu scuro"; se nessuno di questi è disponibile, non fare nulla.


3

Un'ottima soluzione e i miei ringraziamenti ai vostri collaboratori. Per anni ho lottato con una combinazione di colori totalmente schifosa - usando SSH sotto Windows Vista su un sistema Redhat, terminale di tipo xterm. L'editor avrebbe creato uno sfondo nero e colori strani per varie parole chiave. Peggio ancora: quella strana combinazione di colori si attacca al terminale xterm dopo aver lasciato Vim.

Davvero confuso.

Inoltre, Backspace non è riuscito durante una modalità di inserimento, che era brutta da ricordare, anche se Delete ha fatto la stessa cosa.

La cura --

  1. Nel monitor SSH, selezionare Modifica / Impostazioni.

    un. Scegli Impostazioni profilo / Colori

    b. seleziona "abilita colori ANSI"

    c. I colori del testo standard sono probabilmente OK

  2. Aggiungi queste righe a $ HOME / .vimrc:

    colori predefiniti

    if & term == "xterm"

    impostare t_kb = ^ H

    fixdel

    finisci se

  3. NOTA: ^ H DEVE essere digitato come ctrl-V ctrl-H. Sembra strano, ma questo sembra funzionare.


0

Provare

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

nel tuo ~/.vimrc.

Le prime due righe fanno apparire le possibili corrispondenze come liste. Puoi usare uno o entrambi.

La quarta riga diventa leader ,anziché predefinita \.

L'ultima riga consente di digitare semplicemente ,cper ottenere un elenco e un prompt per modificare il proprio schema di colori.

La terza riga consente effettivamente di visualizzare Tabs nelle mappe chiave.

(Certo, tutte queste strategie che ho imparato da Internet, e soprattutto SO, molto di recente.)


0

Un altro modo più semplice è durante la modifica di un file: tabe ~/.vim/colors/ INVIO Aprirà tutti i temi in una nuova scheda all'interno della finestra di vim.

Puoi tornare al file che stavi modificando usando - CTRL + W + W INVIO

Nota: sopra funzionerà SOLO SE AVETE una .vim/colorsdirectory nella tua home directory per corrente $USER (ho più di 70 temi)

[user @ host ~] $ ls -l ~ / .vim / colors | wc -l

72

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.