Szenario: Ich habe Vim geöffnet und Text eingefügt. Ich öffne eine zweite Registerkarte mit :tabe
und füge dort einen anderen Text ein.
Ziel: Ich möchte eine dritte Registerkarte mit einer Ausgabe, die dem Schreiben beider Texte in Dateien und dem Öffnen mit entspricht vimdiff
.
Der nächste, den ich finden kann, ist "Diff den aktuellen Puffer gegen eine Datei", aber nicht diff
zwei offene, aber nicht gespeicherte Puffer.
Antworten:
Ich schlage vor, die zweite Datei auf derselben Registerkarte anstelle einer neuen zu öffnen.
Folgendes mache ich normalerweise:
Der
:vnew
Befehl teilt die aktuelle Ansicht vertikal auf, sodass Sie dort die zweite Datei öffnen können. Der Befehl:diffthis
(oder kurz:difft
:) wird dann auf jede Ansicht angewendet.quelle
vimdiff file1.txt file2.txt
und sich selbst auszuschalten.:diffthis
. Ich danke dir sehr. Danke dir!edit fileN
Teile können durch einfaches Einfügen aus dem Puffer ersetzt werden, wodurch Sie zwei Textblöcke unterscheiden können, ohne sie jeweils in eine tmp-Datei einzufügen (etwas, das Sie verschmelzen können, aber visuelle Diff-Tools auf dem Mac fehlen). In MacVim hat es sofort funktioniert.Ich würde vorschlagen, Folgendes zu versuchen : diffthis oder : diffsplit
quelle
:vert diffsplit
sorgt für eine traditionellere Diff-Ansicht als ohne:vert
:set scrollbind
in beiden.:diffsplit
bekomme ich zwei verbundene Puffer.Wenn Sie zwei Dateien in vertikaler Aufteilung geöffnet haben, führen Sie sie aus
:windo diffthis
quelle
:diffoff
, um den Diff-Modus auszuschaltenDer Inhalt aller Registerkarten befindet sich in den Puffern. Schauen Sie sich die Puffer an:
Suchen Sie die richtige Nummer für den Inhalt, die sich von Ihrem aktuellen Tab-Inhalt unterscheiden soll.
Öffnen Sie den Puffer in Ihrer aktuellen Registerkarte (z. B. Puffer Nummer 4).
Oder für die vertikale Ansicht:
Dann können Sie den Inhalt einfach mit unterscheiden
Wenn Sie die Diff-Analyse abgeschlossen haben, können Sie Folgendes eingeben:
quelle