2012-04-13 5 views
12

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?

+6

Durch Entfernen jedes Plugins und Hinzufügen von ihnen eins nach dem anderen. – romainl

+0

Dies ist die Methode, die ich versuche zu vermeiden, aber wenn es keinen anderen Weg gibt ... – sica07

+0

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

Antwort

9

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

getan
:profdel 

Profilierung zu stoppen. Beenden Sie vim und Sie werden die Profilinformationen in filename geschrieben finden.

+0

In Debian Squeeze ist die Profilerstellung von vim standardmäßig aktiviert. Danke eckes! – sica07

+6

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

Verwandte Themen