2010-09-21 14 views

Antwort

77

Das Farbschema sieht aus wie Es unterstützt nur 256-Farben-Terminals. Wenn Vim denkt, dass Ihr Terminal nur 8 Farben unterstützt, werden Sie dieses spezifische Farbschema nicht sehen.

Sie können dies in Vim überprüfen:

:echo &t_Co 

Wenn das 8 zurückgibt, könnte dies das Problem sein. Versuchen Sie es zu 256 in Ihrer ~/.vimrc Einstellung und sehen, ob das hilft:

let &t_Co=256 
+0

Ich würde annehmen, dass es einige Einstellungen in iTerm geben muss, um 256 Farben zu ermöglichen? –

+0

nice one, die perfekt funktioniert –

+1

Funktioniert nicht für mich unter dem 10.6 Standard-Terminal. Es bewirkt, dass der Text vim schwarz und weiß blinkt. –

63

Um zu drehen Code Hervorhebung in vim verwenden ist versucht, versuchen Sie die Syntax-Plugin zu aktivieren:

:syntax enable 
+0

Auf einer Seite zur Kenntnis, dass viele der Systeme gemacht für GVim/MacVim und nicht unbedingt zu ihrer Gesamtheit innerhalb des Terminals anzeigen. – Sean

+4

Hinzufügen "Syntax auf" ohne Anführungszeichen zu .vimrc Datei, um es dauerhaft zu machen – sarathprasath

11

Ich hatte dieses Problem gehabt haben, sowie einige damit zusammenhängende Fragen, ich werde so zusammenfassen, was ich gefunden habe.

  1. Stellen Sie sicher, dass iTerm auf 256 Farben eingestellt ist. Versuchen Sie $ echo $TERM in der Befehlszeile, und wenn Sie xterm-256color nicht sehen, dann folgen Sie den Anweisungen in this answer.

  2. Richten Sie Ihre auch auf andere Terminals ein. Das reguläre Terminal in Snow Leopard unterstützt zum Beispiel nur 8 Farben und blinkt, wenn Sie versuchen, ein Farbschema mit 256 Farben zu verwenden (ich setze in diesem Fall einfach keins). Hier ist, was ich habe:

    " enable 256 colors in GNOME terminal (for my Ubuntu VM) 
    if $COLORTERM == 'gnome-terminal' 
        set t_Co=256 
    endif 
    
    " set your color scheme (replace wombat with whatever yours is called) 
    " if you're using a gvim or macvim, then your color scheme may have a version 
    " that uses more than 256 colors 
    if has("gui_running") 
        colorscheme wombat 
    elseif &t_Co == 256 
        colorscheme wombat256 
    endif 
    
    " turn on language specific syntax highlighting 
    syntax on 
    
3

Trotz folgenden alle Ratschläge in diese (und andere, ähnliche) Fragen, fand ich schließlich meine Probleme in einem vergessenen Teil eines vimrc ich von irgendwo auf dem Netz genommen hatte vor Jahren (weil es ziemlich gut organisiert war), und dann für meine eigenen Zwecke umfassend modifiziert.

Aber der Problembereich war in einer kleinen Gruppe von Einstellungen, die ich nie berührt hatte, zurück in der ursprünglichen Datei, mit der ich anfing. Das entsprechende Bit des .vimrc war:

" GVIM- (here instead of .gvimrc) 
    if has('gui_running') 
      set guioptions-=T    " remove the toolbar 
      set lines=40     " 40 lines of text instead of 24, 
    else 
      set term=builtin_ansi  " Make arrow and other keys work 
    endif 

Unsurprisingly (im Nachhinein), dass „gesetzt Begriff“ Linie setzt die Dinge so, dass unabhängig davon, was Ihren Terminal-Typ ist in der Umgebungsvariable TERM Berichterstattung, Sie aufzuwickeln mit ein generisches 8-Farben-ANSI-Terminal. Das explizite Setzen von 'term' innerhalb der .vimrc ist wahrscheinlich eine sehr schlechte Idee, genau wie das direkte Setzen von t_Co.

Ich habe diesen ganzen Block entfernt (Und die gvim Einstellungen in .gvimrc, wo sie hingehören), und seitdem funktioniert alles richtig für mich.

18

Für diejenigen, die noch ein Problem haben.

iTerm 2 -> Einstellungen -> Profile -> Farben -> Mindestkontrast -> niedrigste

setup