Vimdiff:Wie werden alle Änderungen in einer bestimmten Funktion von einer Datei in eine andere übertragen?

StackOverflow https://stackoverflow.com/questions/6093746

  •  09-09-2020
  •  | 
  •  

Frage

In Vimdiff weiß ich, dass ich "do" oder "dp" verwenden kann, um Änderungen von einer Datei in die andere zu verschieben...aber diese sind für individuelle Veränderungen.Wenn ich alle Änderungen innerhalb eines bestimmten Bereichs / einer bestimmten Auswahl rückgängig machen muss (z. B. alle Änderungen an einer bestimmten Funktion rückgängig machen, aber den Rest unberührt lassen), gibt es eine Möglichkeit, dies auf einmal zu tun?

War es hilfreich?

Lösung

Sie können eine visuelle Auswahl und den Befehl ex verwenden :diffget/:diffput

So erhalten Sie beispielsweise die Änderungen nur für die aktuellen Innenseiten eines Codeblocks ( { ...} )

Vi}:diffget<Enter>

Zu setzen die Änderungen für die beiden umschließenden Ebenen einschließlich der Zeilen mit den Klammern:

V2a}:diffput<Enter>

Beachten Sie, dass die Bewegungen zeilenweise sind, da es sich um Ex-Befehle handelt.Natürlich können Sie einen beliebigen Bereich verwenden, sodass Sie den visuellen Bereich wiederholen oder Markierungen verwenden können

:'a,'bdiffput

usw.Benutze deine Fantasie, das ist vim :)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top