vim beschwert sich über color none in AnsiEsc # AnsiEsc


0

Ich habe Mercurial angewiesen, vim als Standardeditor zu verwenden:

[ui]
editor = /opt/local/bin/vim

Das referenzierte vim wurde über MacPorts installiert:

$ port installed | grep vim
  vim @8.0.0596_0+huge (active)

Wenn ich vim über die Kommandozeile aufrufe, lande ich auch bei der über MacPorts installierten:

$ which vim
/opt/local/bin/vim

Wenn ich eine Datei mit Mercurial vergleichen möchte, erhalte ich einige seltsame Fehler aufgrund der fehlenden Farbe none:

Fehler beim Verarbeiten der Funktion AnsiEsc # AnsiEsc erkannt:

Zeile 527:

E254: Es kann keine Farbe zugewiesen werden

Drücken Sie die EINGABETASTE oder geben Sie den Befehl ein, um fortzufahren

Ich habe keine Ahnung, woher das kommt. Meine erste Idee war das zuletzt installierte Plugin. Ich habe es entfernt, aber nichts hat sich geändert. Dann stöberte ich in meiner .vimrc herum, auch ohne Erfolg. Auch das Verschieben von ~ / .vimrc und ~ / .vim zu einem mehr oder weniger Vanille-Vim half nicht. Also stecke ich jetzt fest.

:scriptnamesEnthält kein AnsiEsc und das Suchen über hat findauch kein Ergebnis geliefert . Auch grepin Ordnern, scriptnamesdie Skripte enthalten sollen, wurde keine Übereinstimmung gefunden.

Wie wird diese Fehlermeldung beseitigt? Was ist AnsiEsc (wenn nicht ein Vim-Plugin), wer verwendet es und warum? Oder wie kann ich herausfinden, warum vim AnsiEsc lädt und warum dieser Fehler auftritt?

Antworten:


0

Eine einfache Websuche hätte Sie auf die Plugin-Seite von vim.org geführt . AnsiEsc ist ein Plugin, das die Syntaxhervorhebung erweitert, um ANSI-Escape-Codes (so etwas wie ^[[01;42;31m) zu interpretieren . Unix-Terminals verwenden diese, um Textattribute und Farben hinzuzufügen. Wenn Sie die Ausgabe eines Befehls erfassen und in Vim öffnen, kann das Plugin seine Wirkung entfalten, obwohl es normalerweise manuell über ausgelöst werden muss :AnsiEsc.

Hinsichtlich des Fehlers: Das könnte ein Fehler im Plugin sein. Zuerst überprüfe ich die neueste Version auf der Homepage des Autors . Oder, wenn Sie das überhaupt nicht wollen, deinstallieren Sie es! Wie? Nun, das hängt davon ab, ob Sie einen Plugin-Manager verwenden . Wenn nicht, entfernen Sie einfach plugin/AnsiEscPlugin.vimund autoload/AnsiEsc.vimund doc/AnsiEsc.txtaus Ihrem ~/.vim/Verzeichnis (oder dem Systemverzeichnis, falls es für alle Benutzer installiert ist. :scriptnamesGibt Ihnen einen Hinweis, wo dies ist).

Benutzt du eine Vim "Distribution" wie spf-13 und Janus ? Diese locken Sie mit einer schnellen Installation und sofort einsatzbereiten Einstellungen, aber Sie zahlen den Preis mit erhöhter Komplexität (Sie müssen sowohl das Laufzeit-Ladeschema von Vim als auch die willkürlichen Konventionen der Distribution verstehen) und Unflexibilität (die Distribution kann dies bewirken) manche Dinge einfacher, andere sehr schwierig). Vim ist unglaublich anpassbar. Die Anpassung durch eine andere Person macht keinen Sinn.


Danke für deine Antwort. Es ist jedoch nirgendwo AnsiEsc installiert. Ich habe bereits festgestellt, dass sich durch das Verschieben von ~ / .vim / nichts geändert hat. Und nein, ich habe keine Distribution verwendet, da ich versucht habe, darauf hinzuweisen, dass vim über MacPorts installiert wurde. Vielen Dank für Ihre Eingabe, auch wenn dies mein Problem nicht gelöst hat. Kann es sein, dass es in einem anderen Skript enthalten ist?
PVitt

Wenn Vim den Error detected while processing function AnsiEsc#AnsiEscFehler AnsiEsc.vimausgibt, muss irgendwo eine Datei mit dem Namen (Autoload-Regeln) vorhanden sein, und nach dem Auftreten dieses Fehlers :scriptnamessollte deren Speicherort angezeigt werden.
Ingo Karkat

find und grep haben auch kein Ergebnis gebracht. Ich bin ein wenig verwirrt, warum vim überhaupt AnsiEsc verwendet.
PVitt

Sie könnten versuchen, ein Protokoll mit zu erfassen vim -V20vimlog. Vielleicht zeigt das mehr Details.
Ingo Karkat

Ok, ich habe es herausgefunden. Es kommt vom Vimpager-Plugin, das eine Opt-Out-Unterstützung für AnsiEsc bietet. Vielen dank für Deine Hilfe!
PVitt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.