2012-11-07 5 views
8

Ich tat :vert diffsplit file1.txt, dann erkannte ich wollte ich nicht anders als eine andere Datei. Also habe ich ein Fenster mit :q geschlossen und die diff-Hervorhebung mit :diffoff abgeschaltet."Mehr als zwei Puffer im diff-Modus" - Wie schalte man diff auf den Puffern aus?

Ich habe dann versucht :vert diffsplit file2.txt, aber jetzt, wenn ich dp oder do versuchen, Änderungen zu setzen/bekommen, erhalte ich die E101: More than two buffers in diff mode, don't know which one to use Fehler.

Wie vermeide ich das, oder was mache ich falsch?

Antwort

11

Sie sollten diff-Modus für den unerwünschten Puffer mit :diffoffvor beenden es mit :q auszuschalten. Abhängig von Ihren Einstellungen (z. B. :set hidden), wird der Puffer in der Pufferliste (:ls) beibehalten, und Vim wird es berücksichtigen, wenn er ein Diff durchführt.

Ein sollte Diff für alle vorhandenen Puffer deaktivieren, obwohl ich Vim normalerweise beenden und es mit vimdiff ... neu starten, sollte solch eine Situation entstehen.

+0

ich manchmal diffs in gvim mit vielen anderen Tabs geöffnet. Meine normale Lösung für Vimdiff war einfach zu beenden, aber für Gvim ist das nicht ideal. Vielen Dank! – keflavich

+2

Bevor Sie eines der Fenster beenden, führen Sie kurz ': diffoff!' Oder ': diffo!' Aus. Dadurch wird der Diff-Modus für alle Fenster der aktuellen Registerkarte aktiviert. Siehe ': h: diffo' –

+0

Ich versuchte es: diffoff! und es hat immer noch nicht funktioniert. Musste tun: Buffo Diffoff. Sobald ich das getan habe, fand ich, dass der Puffer in meinem linken Split noch im diff-Modus war. Also auf dem Puffer habe ich ein: diffoff und konnte dann: diffthis in zwei anderen Puffern erfolgreich machen und Änderungen vornehmen. – Brian

1

Diese späte Antwort, aber trotzdem irgendwie für Zukunft sein kann feference

i do

:tabdo diffoff! 
Verwandte Themen