In vim möchte ich alle Änderungen in all Puffern in chronologischer Reihenfolge rückgängig machen.
z. B. in einer vim-Sitzung habe ich normalerweise viele Registerkarten geöffnet, mit vielen Fenstern in jedem Register. Indem u
zum Rückgängigmachen verwendet (oder g;
/ g,
, um sich durch die Änderungsliste zu bewegen), bewegt sich vim durch Änderungen an diesem -Puffer, selbst wenn in anderen Puffern neuere Änderungen vorgenommen wurden. (Ich gebe zu, ist, was ich die meiste Zeit will.)
Aber gibt es eine Möglichkeit, sich in chronologischer Reihenfolge in allen Puffern zurückzuziehen? (Ich könnte mir vorstellen, dass vim von Tab zu Tab springt, was in Ordnung wäre.)
Warum wäre das nützlich? ... meistens, wenn ich nach einer Pause mit dem Codieren fortfahre, kann ich mich selbst daran erinnern, "wo ich vorgehe", d. h. alle Änderungen, die ich beim letzten Mal gemacht habe.
(mit macvim 7.3)
UPDATE: Antworten über die Verwendung von git / mercurial machen gute Punkte (Danke besonders für git stash
), aber ich finde diese Funktion immer noch nützlich, da sie mich durch die letzten Änderungen zurückbringt, mit Syntaxfärbung in vim usw.)
Sie könnten einen langen Weg mit undolist
:
Ergebnisse in z.B. für eine einfache Bearbeitungssitzung:
%Vor% Um dies für alle sichtbaren Fenster zu tun, führen Sie windo
anstelle von bufdo
aus. Wenn Sie mehrere Registerkarten haben, machen Sie das
Sie sollten eine Art Versionskontrolle verwenden: Git, Mercurial, Subversion, was auch immer ...
Jeden Morgen können Sie das Protokoll Ihres Projekts lesen und vorherige Commits durchsehen, um zu sehen, welche Änderungen vorgenommen wurden. Sie können Zweige erstellen, um an bestimmten Funktionen zu arbeiten. Sie schreiben saubere und beschreibende Commit-Nachrichten, um Ihre früheren Änderungen besser zu verstehen / p>
Oder Sie könnten etwas wie :windo u
machen. Aber das klingt chaotisch.
Tags und Links vim