Ich habe mehrere highlight
Befehle in meiner .vimrc
Datei. In Vim 7.3 wurden diese unmittelbar nach dem Start von Vim wirksam. Nach dem Update auf Vim 7.4 ist dies nicht mehr der Fall. Vim verwendet zunächst die Standardhervorhebung. Wenn ich .vimrc
ein zweites Mal durch Ausführen lade source ~/.vimrc
, funktioniert das Hervorheben wie gewünscht.
Sie sollten dieses Problem mit den folgenden Schritten reproduzieren können:
Erstellen Sie eine Kopie Ihrer
.vimrc
Datei.Ersetzen Sie
~/.vimrc
durch eine Datei, die nur die Zeile enthälthighlight Type ctermfg=28 cterm=bold
.Führen Sie
vim dummy.c
ein 256-Farben-Terminal aus (z. B. GNOME-Terminal).Geben Sie
int
in den Puffer ein. Dieint
sollten in normaler Schrift erscheinen und hellgrün gefärbt sein, was ich nicht will.Geben Sie ein
:source ~/.vimrc
. Jetztint
sollte das fett gedruckt und dunkelgrün gefärbt sein.
Gemäß dem Artikel Steuern / Konfigurieren von VIM-Farben sollte es in Ordnung sein, nur die highlight
Befehle einzugeben .vimrc
. Der Artikel sagt, dass Sie syntax enable
nach den highlight
Befehlen setzen sollten , aber dies machte keinen Unterschied.
Mein erstes fix war jeden vorangestellt highlight
Befehl in .vimrc
mit autocmd VimEnter *
. Dies funktionierte für einige Dateitypen, jedoch nicht für andere (C-Dateien sind ein Beispiel).
Was ist der Grund für dieses Verhalten? Wie kann ich die highlight
Befehle beim Starten von Vim so ausführen lassen, dass sie für alle Puffer während der gesamten Vim-Sitzung wirksam werden?
quelle
set compatible
zu Beginn hinzufügen.vimrc
, funktioniert die Syntaxhervorhebung wie erwartet. Das scheint also wirklich dieser Fehler in Aktion zu sein.highlight
Befehlen vorangestelltautocmd ColorScheme *
, was als Problemumgehung im Fehlerbericht vorgeschlagen wurde. Es funktioniert immer noch nicht. ☹Antworten:
Dies ist keine eindeutige Antwort und Ihr Problem klingt wie Problem 542 . Anscheinend können Sie es umgehen, indem Sie Ihr eigenes Grundfarbschema schreiben, anstatt diese
hi ...
Anweisungen direkt in Ihre .vimrc zu schreiben.quelle
Eigentlich sollten Sie Ihre benutzerdefinierten Highlights nicht in Ihr vimrc einfügen, sondern in Zollsyntaxdateien.
Diese Dateien sollten sich dort befinden,
~/.vim/after/syntax/filetype.vim
wofiletype
sich der erwartete Dateityp befindet. Wenn Sie mit einer Syntaxdatei größtenteils zufrieden sind, aber einige Befehle hinzufügen möchten, können Sie die folgenden Schritte ausführen (entnommen aus:h mysyntaxfile-add
)::h mysyntaxfile
ist ein guter Ort, um Informationen darüber zu erhalten, wie Sie Ihre eigenen Syntaxdateien korrigieren können. Auch Lernen Vimscript The Hard Way als mehrere Kapitel zu diesem Thema.quelle
.vimrc/highlighting.vim
, ein Verzeichnis erstellt.vimrc/syntax/after
und mehrere symbolische Links der Form * Dateityp * hinzugefügt.vim
, die.vimrc/highlighting.vim
auf dieses Verzeichnis verweisen . Die Syntaxhervorhebung funktioniert immer noch nicht.~/.vim/after/syntax
nicht sein~/.vimrc
.vim
und die Syntaxhervorhebung hat nicht funktioniert, wahrscheinlich wegen dieses Fehlers 542.Für das, was es wert ist, hatte ich dieses Problem mit MacVim (8.1.950 (155)). Durch Platzieren der Highlight-Anweisung nach
colorscheme
.vimrc wurde dies für mich behoben. Z.B:->
quelle