Manchmal versuche ich eine Anpassung / einen Befehl in meinem vimrc. Alles scheint richtig zu sein, aber es funktioniert einfach nicht.
Es ist schwierig zu wissen, was passiert, wenn vim gestartet wird, und zu wissen, welcher Befehl fehlgeschlagen ist oder nicht. Daher ist es wirklich schwierig zu debuggen, was ein Problem in meinem vimrc verursachen kann. Es ist ein Versuch-Fehler-Ansatz, der zeitaufwändig und wirklich eine PITA ist. Zum Beispiel habe ich Probleme mit dem Snipmate-Plugin in einigen Dateien und habe keine Ahnung, wie ich das Problem entdecken kann.
Gibt es beim Start von vim ein "Laufzeitprotokoll", das angibt, welche Befehle ausgeführt wurden, welche fehlgeschlagen sind und dergleichen? Das würde mir sehr helfen.
:h 'verbose'
und:h :verbose
.-V
Option oder Befehlszeilenoption zu unterstützen .:messages
Zeigt alle Warnungen, Fehler und Informationsmeldungen an, die (möglicherweise kurz) in der vim-Statuszeile angezeigt wurden.:echo errmsg
druckt die letzte Fehlermeldung.g<
ist ein weiteres Merkmal, über das nur wenige Menschen Bescheid wissen. Von:help g<
:Versuchen Sie beispielsweise
:!ls
, die Eingabeaufforderung abzubrechen, und drücken Sie danng<
.quelle
Fügen Sie diese Funktion in .vimrc ein:
Erstellen Sie dann ein Verzeichnis
~/.log/vim
und rufen SieToggleVerbose()
an, um sich anzumelden~/.log/vim/verbose.log
. Beachten Sie, dass Sie möglicherweise den Fehler "Variable zu tief verschachtelt für die Anzeige" abfangen, der normalerweise nicht angezeigt wird, nur weil Sie Ihre ausführliche Ebene erhöht haben.quelle
Ich glaube nicht, dass es per se ein Laufzeitprotokoll gibt , aber Sie können es im Debug-Modus ausführen.
http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki.org/Debugging_Vim_Scripts
quelle
Dies widerspricht wahrscheinlich allem, wofür SO steht, aber hier ist, was ich tue: Ich drücke einfach auf den Druckbildschirm, sobald die Warnung erscheint, und schaue mir das Bild an.
quelle
Ich musste "set nocp" hinzufügen, um die Funktion "ToggleVerbose ()" zu verwenden, wenn ich wegen & verbose im Root ausgeführt wurde
quelle