iterm vim Farbschema nicht funktioniert
Frage
Wenn ich vim von der Kommandozeile in iTerm, Syntaxhervorhebung scheint nicht lokal an der Arbeit.
In vim zum Beispiel habe ich ein schönes Farbschema installiert, die recht gut in MacVim funktioniert, aber es wäre schön, wenn in iTerm es das gleiche zeigt.
Alle Ideen, wie kann ich das einschalten?
Dies ist das Farbschema ich Gebrauch bin versucht, http://www.vim.org/scripts/script.php?script_id=2340
Lösung
Dass Farbschema sieht aus wie es unterstützt nur 256-Farben-Terminals. Wenn Vim, dass Ihr Terminal unterstützt nur 8 Farben denkt, werden Sie nicht, dass bestimmte Farbschema sehen.
Sie können dies in Vim überprüfen, indem Sie:
:echo &t_Co
Wenn die Renditen 8
, könnte dies das Problem sein. Stellen Sie sich auf 256 in Ihrem ~/.vimrc
und sehen, ob das hilft:
let &t_Co=256
Andere Tipps
Um den Code zu drehen Hervorhebung in vim, versuchen Sie die Syntax-Plugin zu aktivieren:
:syntax enable
Ich habe vor, dieses Problem hatte, sowie einige damit zusammenhängende Fragen, so werde ich zusammenfassen, was ich gefunden habe.
-
Stellen Sie sicher, iTerm eingestellt 256 Farben verwenden. Versuchen Sie
$ echo $TERM
at die Befehlszeile, und wenn Sie nichtxterm-256color
sehen dann folgen Sie den Anweisungen href="https://stackoverflow.com/a/7427618/276457">. -
Richten Sie Ihre
vimrc
anderen Terminals als auch zu behandeln. Der reguläre Terminal Snow Leopard unterstützt nur 8 Farben zum Beispiel und blinkt, wenn Sie versuchen, ein 256-Farben-Farbschema zu verwenden (ich stelle einfach nicht einen in diesem Fall). 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
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 im Internet Jahren genommen hatte (denn es war recht gut organisiert) und umfassend modifiziert für meine eigenen Zwecke dann.
Aber das Problem Bereich war in einer kleinen Gruppe von Einstellungen, dass ich nie berührt hatte, wieder in der ursprünglichen Datei begann ich mit. 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 „set Begriff“ Linie setzt die Dinge so, dass unabhängig davon, was Ihren Terminal-Typ ist in der Umgebungsvariable TERM Berichterstattung, wickeln Sie mit einem allgemeinen, 8-Farben-ANSI-Terminal auf. Einstellung ‚Begriff‘ ausdrücklich in der .vimrc ist wahrscheinlich eine sehr schlechte Idee, wie Einstellung t_Co direkt.
entfernte ich diesen ganzen Block (und legen Sie die Einstellungen gvim in .gvimrc, wo sie hingehören), und alles, was für mich gearbeitet hat, richtig seitdem.