Antworten:
Dies ist mit dem wBefehl auch ohne Plugin möglich , sodass der Pufferinhalt in einem Shell-Befehl verwendet werden kann:
:w !diff -au "%" - > changes.patch
( %wird durch den Pfad der zu bearbeitenden Datei ersetzt, -liest den Puffer von stdin)
diff -u "%" -da diffein Bindestrich als Bedeutung von stdin
Sie können den Puffer auch diffmithilfe der folgenden %!Syntax filtern :
:%! diff -au "%" -
Dadurch wird der Puffer mit dem Diff gefüllt und nicht auf die Festplatte geschrieben. Möglicherweise möchten readonlySie festlegen, dass Sie das Original nicht versehentlich beschädigen (OTOH, das sollte kein ernstes Problem sein, da Sie die Datei unter Versionskontrolle haben, oder? ). Natürlich hilft es, den umgekehrten Befehl zu haben:
:%! patch -o - "%"
Dadurch wird Ihr Diff wieder in die geänderte Datei umgewandelt.