Wenn an einer Eingabeaufforderung zu kopieren, ichUndoing diff setzen, wenn Linien zwischen vimdiff Fenster
laufenvimdiff file1 file2
ich eine vim Instanz erhalten, die zwei Dateien offene Seite-an-Seite hat. Nehmen wir an, dass der Text in den Dateien sieht wie folgt aus (file1 auf der linken Seite, file2 auf der rechten Seite):
╔═══════╤═══════╗
║foo │-------║
║bar │bar ║
║grue │-------║
║~ │~ ║
║~ │~ ║
╚═══════╧═══════╝
Nehmen wir nun an, dass mein Cursor auf dem „f“ von „foo“ ist und dass ich wünschte, Kopieren Sie die erste Zeile von Datei1 in die erste Zeile von Datei2.
Eine Möglichkeit, dies zu tun ist, zu wählen und zerrt (Kopie) die Zeile mit v $ y, und verwenden Sie dann Strg + wl die Cursor über in der ersten Zeile von file2 zu bewegen, und dann geben p, um die kopierte Zeile einzufügen. Wenn ich das tue und ich dann entscheide, dass ich es eigentlich nicht tun wollte, kann ich u drücken, um den Paste-Befehl rückgängig zu machen, den ich in Datei2 ausgeführt habe.
Eine andere Möglichkeit, dies zu tun, ist die Verwendung des Diff-Put-Befehls dp. Wenn ich jedoch nach diesem Schritt entscheide, dass ich es nicht wollte, kann ich es nicht einfach rückgängig machen, indem ich u drücke, weil mein Cursor immer noch in Datei1 ist und der u Befehl die letzte Änderung an file1 rückgängig macht , nicht die letzte Änderung an Datei2. Anstatt also habe ich Strg + w l oder Ctrl verwenden + w w den Cursor auf das Fenster für Datei2 und dann drücken u zu bewegen.
Also meine Frage ist: nachdem ich dp wie oben verwendet habe, gibt es einen einfachen Weg für mich, es rückgängig zu machen, ohne meinen Cursor über das Fenster der anderen Datei zu bewegen?
Dies könnte seltsam verhalten, wenn es mehr als zwei Fenster ist. (Nur eine Anmerkung, dennoch eine perfekte Antwort auf die Frage). –