In Vimdiff weiß ich, dass ich "do" oder "dp" verwenden kann, um Änderungen von einer Datei in die andere zu verschieben ... aber dies sind individuelle Änderungen. Wenn ich alle Änderungen innerhalb eines bestimmten Bereichs / Auswahl rückgängig machen muss (alle Änderungen an einer bestimmten Funktion rückgängig machen, aber den Rest unberührt lassen), gibt es eine Möglichkeit, dies in einem Schritt zu tun?
Sie können eine visuelle Auswahl und den ex-Befehl :diffget
/ :diffput
So zum Beispiel, um die Änderungen nur für die aktuellen Innenseiten eines Codeblocks ({...})
zu erhalten %Vor%Um put die Änderungen für die zwei einschließenden Ebenen einschließlich der Zeilen mit den Klammern:
%Vor%Beachten Sie, dass die Bewegungen zeilenweise sind, da es sich um ex-Befehle handelt. Natürlich können Sie jeden Bereich verwenden, damit Sie den sichtbaren Bereich wiederholen können, oder verwenden Sie Markierungen
%Vor%usw. Verwenden Sie Ihre Phantasie, das ist vim:)