Wie erhalte ich die Liste aller in Vim installierten Farbschemata?

431

Gibt es eine Möglichkeit, eine Liste aller in Vim installierten Farbschemata zu erhalten? Das würde die Auswahl sehr einfach machen, ohne das .vimVerzeichnis zu betrachten.

tunnuz
quelle

Antworten:

620

Art

:colorschemedann Spacegefolgt von TAB.

oder wie Peter sagte,

:colorschemedann Spacegefolgt vonCTRLd

Die Kurzversion des Befehls ist :coloso, dass Sie ihn in den beiden vorherigen Befehlen verwenden können, anstatt die "lange Form" zu verwenden.

Wenn Sie weitere Themen suchen und in der Vorschau anzeigen möchten, gibt es verschiedene Websites wie Vim-Farben

Xavier T.
quelle
41
Versuchen Sie auch<c-d>
Peter Rincker
1
<cd> ist eigentlich besser, wenn Sie viele Schemata installiert haben.
Xavier T.
2
Oder wenn Sie haben, erhalten :set wildmenuSie den gleichen Effekt wie <c-d>beim Drücken der Registerkarte.
Conrad.Dean
Arbeitete für mich, nachdem ich danach Platz hinzugefügt hatte :colorscheme. Vielleicht ist es etwas Triviales, aber ich habe Zeit gebraucht, um es zu enthüllen.
Jutky
4
:coloist nicht wirklich die Kurzform . Es ist gerade abgeschlossen, weil es keine widersprüchlichen Befehle gibt. Wenn Sie einen Befehl wie "colobanana" ausführen :colowürden, hätte er mehr als eine "lange Form", sodass er nicht wie vorgeschlagen funktioniert.
dylnmc
53

Sie können die Liste der Farbschemata unter /usr/share/vim/vimNN/colors(mit NNder Version, z. B. vim74für vim 7.4) sehen.

Dies wird hier erklärt .

Auf den Linux-Servern verwende ich via SSH, TABPrints ^Iund CTRLdPrints ^D.

Fabien
quelle
10
Dadurch fehlen die vom Benutzer installierten Farbschemata (im Home-Verzeichnis).
Cristian Ciupitu
4
Der Weg zu den Farbtabellen, genau das, wonach ich gesucht habe, danke!
Corepuncher
1
Beachten Sie, dass das NNIn vimNNder Version von vim entspricht, z vim74. B. für vim 7.4. Ich wollte nur darauf hinweisen, weil ich langsam bin und es mich dazu brachte, eine doppelte Aufnahme zu machen, als ich nachschaute;)
Adam P
1
@AdamP Ich habe die Präzision in der Antwort hinzugefügt.
Fabien
43

Nur zum bequemen Nachschlagen, da ich sehe, dass viele Leute nach diesem Thema suchen und zu faul sind ... Entschuldigung, beschäftigt, um sich selbst zu überprüfen (einschließlich mir). Hier eine Liste der Standardfarbschemata für 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
quelle
5
Sehr hilfreiche Liste. Für diejenigen mit älteren Augen und die noch geschäftiger sind, sind hier diejenigen, die ich am besten lesbar fand: delek, koehler, slate & zellner. Ich habe zellner ausgewählt.
TheRiley
Gute Wahl, aber vielleicht ein bisschen zu viel rote Farbe für mich. Ich bevorzuge Wüste, die Türkis / Hellblau verwendet. (In vim, Typ: Farben Wüste)
HAltos
Ich habe immer Torte verwendet, die für mich einen guten Kontrast zu haben scheint und nicht versucht, ein "Stil" zu sein, und keine "Kontrastbandbreite" verschwendet, indem die Farben ähnlich gemacht werden.
NeilG
15

Wenn Sie bereit sind, ein Plugin zu installieren, empfehle ich https://github.com/vim-scripts/CycleColor .

um alle installierten Farbschemata zu durchlaufen. Gute Möglichkeit, einfach ein Farbschema auszuwählen.

John C Earls
quelle
9

Hier ist eine kleine Funktion, die ich geschrieben habe, um alle Farbschemata im Verzeichnis $ VIMRUNTIME / colours auszuprobieren.

Fügen Sie die folgende Funktion zu Ihrem vimrc hinzu, öffnen Sie dann Ihre Quelldatei und rufen Sie die Funktion vom Befehl aus auf.

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
quelle
1
Rufen Sie DisplayColorSchemes ()
Haagenti
8

Wenn Sie Ihr vim kompiliert haben +menu, können Sie Menüs mit dem :helpvon folgen console-menu. Von dort aus können Sie zu navigieren, Edit.Color\ Schemeum dieselbe Liste wie in zu erhalten gvim.

Eine andere Methode ist die Verwendung eines coolen Skripts ScrollColors , das eine Vorschau der Farbschemata anzeigt, während Sie durch die Schemata scrollen j/k.

nperson325681
quelle
6

Als ich mir das menu.vim meines Systems (siehe Untermenü 'Farbschema') und die Antwort von @ chappar ansah, fand ich die folgende Funktion:

" 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

Es macht folgendes:

  1. Ruft die Liste der verfügbaren Farbschemaskripte unter allen Laufzeitpfaden (Globpath, Laufzeitpfad) ab.
  2. Ordnet die Skriptpfade ihren Basisnamen zu (entfernt übergeordnete Verzeichnisse und Erweiterungen) (map, fnamemodify)
  3. Sortiert und entfernt Duplikate (uniq, sort)

Um die Funktion zu nutzen, mache ich so etwas:

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

Was bedeutet, dass ich die "solarisierten" und dann die "dunkelblauen" Schemata bevorzuge; Wenn keiner von ihnen verfügbar ist, tun Sie nichts.

Roy
quelle
3

Eine großartige Lösung, und ich danke Ihren Mitwirkenden. Seit Jahren habe ich mit einem total beschissenen Farbschema zu kämpfen - mit SSH unter Windows Vista auf einem Redhat-System vom Terminaltyp xterm. Der Editor würde sich einen schwarzen Hintergrund und seltsame Farben für verschiedene Schlüsselwörter einfallen lassen. Schlimmer noch - dieses seltsame Farbschema bleibt nach dem Verlassen von Vim im xterm-Terminal hängen.

Wirklich verwirrend.

Außerdem schlug die Rücktaste während eines Einfügemodus fehl, an den man sich nicht erinnern konnte - obwohl Löschen dasselbe tat.

Die Heilung --

  1. Wählen Sie im SSH-Monitor Bearbeiten / Einstellungen.

    ein. Wählen Sie Profileinstellungen / Farben

    b. Aktivieren Sie "ANSI-Farben aktivieren".

    c. Die Standardtextfarben sind wahrscheinlich in Ordnung

  2. Fügen Sie diese Zeilen zu $ ​​HOME / .vimrc hinzu:

    Farbschema Standard

    if & term == "xterm"

    setze t_kb = ^ H.

    fixdel

    endif

  3. HINWEIS: Das ^ H MUSS als Strg-V Strg-H eingegeben werden. Scheint eigenartig, aber das scheint zu funktionieren.

William Barrett
quelle
0

Versuchen

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

in deinem ~/.vimrc.

In den ersten beiden Zeilen werden Übereinstimmungen als Listen angezeigt. Sie können eines oder beide verwenden.

Die vierte Zeile macht Leader ,anstelle der Standardeinstellung \.

In der letzten Zeile können Sie einfach ,ceingeben, um eine Liste und eine Aufforderung zum Ändern Ihres Farbschemas zu erhalten.

In der dritten Zeile können Tabs effektiv in Schlüsselkarten angezeigt werden.

(Natürlich all diese Strategien habe ich aus dem Internet gelernt, und meistens SO, in letzter Zeit.)

Brady Trainor
quelle
0

Eine andere einfachere Möglichkeit ist, während Sie eine Datei bearbeiten - tabe ~/.vim/colors/ ENTER alle Themen auf einer neuen Registerkarte im vim-Fenster.

Sie können mit - ENTER zu der Datei zurückkehren, die Sie bearbeitet habenCTRL + W + W

Hinweis: Oben funktioniert NUR, wenn Sie ein .vim/colorsVerzeichnis in Ihrem Home-Verzeichnis für das aktuelle haben $USER (ich habe mehr als 70 Themen).

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

72

nitinr708
quelle