Ich habe gerade eine Neuinstallation von Vim gemacht, und bei dieser Gelegenheit habe ich einige neue Plugins zu meiner VIM-Konfiguration hinzugefügt. Das Problem ist, dass jetzt, wenn ich die erste Änderung in der Datei mache, VIM-Blöcke und eine meiner CPUs 100% Auslastung erreichen. Dies passiert auch hin und wieder, während ich die Datei bearbeite. Dies ist in der vorherigen Konfiguration nie passiert. Wie kann ich herausfinden, welches Plugin meine CPU zerstört?Wie finde ich heraus, welches VIM-Plugin schuld ist, um meine CPU zu überlasten?
Antwort
Als Alternative zu romainl ‚s (schön und einfach) trial-and-error approach: einmal mit vim-internen Profiler
Ich habe so getan: :he profile
.
Möglicherweise müssen Sie vim selbst kompilieren, um sie zu aktivieren (die Profilerstellung ist in der Standard-vim-Verteilung nicht aktiviert).
Dann
:profile start filename
Profilierung zu aktivieren und Ihre Profildaten zu filename
schreiben, bearbeiten Sie Ihre Datei (die die CPU auf 100% drückt), einmal
:profdel
Profilierung zu stoppen. Beenden Sie vim und Sie werden die Profilinformationen in filename
geschrieben finden.
In Debian Squeeze ist die Profilerstellung von vim standardmäßig aktiviert. Danke eckes! – sica07
Um alles zu profilieren, starte ': profile start filename', dann': profile func * ' Dann mach die langsame Sache, und schließe vim. ': profdel' wird nicht benötigt - es hört nicht auf zu profilieren, es entfernt stattdessen einen Teil des Codes für die Aufnahme in die Profilerstellung. – glebtv
Durch Entfernen jedes Plugins und Hinzufügen von ihnen eins nach dem anderen. – romainl
Dies ist die Methode, die ich versuche zu vermeiden, aber wenn es keinen anderen Weg gibt ... – sica07
Nun, Sie könnten wahrscheinlich einen Profiler verwenden. Sie könnten auch ein paar Sekunden über Ihre Plugins nachdenken: Einige sind vollständig passiv, bis Sie sie aufrufen und haben wahrscheinlich nichts mit Ihrem Problem zu tun, andere starten Hintergrundprozesse bei jedem Tastendruck ... Die Statusleiste zum Beispiel kann sich sehr oft selbst aktualisieren, um VCS anzuzeigen Status oder was auch immer. – romainl