Antworten:
Dies ist mit dem w
Befehl 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 diff
ein Bindestrich als Bedeutung von stdin
Sie können den Puffer auch diff
mithilfe 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 readonly
Sie 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.