Durchsuchen Sie alle Versionen einer Datei im Rückgängig-Baum

11

Gibt es eine einfachere Möglichkeit, eine bestimmte Änderung im Rückgängig-Baum von Vim zu finden, als nur zufällige alte Versionen der Datei einzeln zu betrachten (entweder mit Vanilla VIM-Befehlen, Gundo oder einem anderen Plugin)?

Im Idealfall möchte ich ein Suchmuster eingeben, das mit allen im Vorschaufenster von Gundo angezeigten Unterschieden übereinstimmt, und dann von Gundo anzeigen lassen, welche Versionen Unterschiede aufweisen, die dieser Suche entsprechen.

Diese Frage stellt etwas fast Identisches, aber der Fragesteller hat eine Antwort akzeptiert, die Gundo einfach empfiehlt, was, obwohl es wunderbar ist, nicht das zu tun scheint, wonach ich frage.

Ich habe dies als neues Feature für Gundo ausgewählt , aber keine Antwort erhalten.

BEARBEITEN: Es gibt eine offene Anfrage für diese Funktion für Undotree.

HINWEIS: Diese Frage wurde vom Superuser "manuell migriert" .

Kyle Strand
quelle
Hinweis: plugin-gundowäre ein gutes Tag für diese Frage, aber leider existiert dieses Tag noch nicht und ich habe keinen Repräsentanten.
Kyle Strand
1
Es gibt auch Undotree . Ich weiß nicht, wie genau es sich von Gundo unterscheidet oder ob es die gewünschte Funktion unterstützt, aber Sie könnten es überprüfen.
Martin Tournoij
2
Stoßen! Wenn Sie das Gundo-Problem überprüfen, hat jemand eine Gabelung gepostet, die eine Suchfunktion bietet.
Joeytwiddle
@joeytwiddle Das habe ich gesehen! Ich habe es aber noch nicht ausgecheckt.
Kyle Strand

Antworten:

6

In einigen Fällen kann dies ausreichen:

:changes

Leider wird keine vollständige Zusammenfassung Ihres Bearbeitungsverlaufs angezeigt. Es wird nur die Textzeile angezeigt, in der Sie nach jeder Änderung gelandet sind.

Dies ist gut genug, um alle einzeiligen Einfügungen oder Änderungen anzuzeigen, aber nur die letzte Zeile einer mehrzeiligen Einfügung und keinen gelöschten Text.

Es kann nur visuell und nicht automatisch durchsucht werden, obwohl Sie diesen Befehl abrufen und dann Folgendes tun könnten :

:PipeCmd changes | less

das würde die Suche mit erlauben /. Oder einfach anpfeifen grepstatt less.

Eine alternative Möglichkeit, diese Liste zu durchsuchen, besteht darin, das Unite-Plugin zu installieren und dann Folgendes zu tun:

:Unite change
joeytwiddle
quelle
1
Hm. Da das Suchen und Ersetzen die zu ersetzenden Wörter vollständig unsichtbar machen changeskann, ist dies nicht besonders nützlich. Was ich wirklich gerne :%s/foo/bar/gtun foowürde, wäre in der Lage zu sein , dann eine Suche danach durchzuführen , um mir die letzte Version der Datei (rekonstruieren und) anzuzeigen, in der sie foovorhanden war.
Kyle Strand
2

Es gibt jetzt eine Gundo-Gabel namens " Mundo " mit dieser Funktion.

Während Sie sich im Undo-Tree-Fenster befinden, /wird eher der Verlauf als der im Fenster selbst angezeigte Text durchsucht.

(Hinweis: Diese Funktion wurde anscheinend von einer anderen Gundo-Gabel übernommen . Ich bin mir nicht sicher, wo die Gutschrift für die Implementierung hingehört , und ich habe nicht beide Gabeln ausprobiert, um festzustellen, welche besser funktioniert.)

Kyle Strand
quelle