Odpowiedzi:
Można to zrobić bez wtyczki za pomocą wpolecenia, więc zawartość bufora można wykorzystać w poleceniu powłoki:
:w !diff -au "%" - > changes.patch
( %jest zastąpiony ścieżką edytowanego pliku, -odczytuje bufor ze standardowego wejścia)
diff -u "%" -ponieważ diffrozumie myślnik jako znaczenie czytane ze stdin
Możesz także przefiltrować bufor diffużywając %!składni:
:%! diff -au "%" -
Spowoduje to wypełnienie bufora różnicą zamiast zapisywania go na dysku; możesz ustawić readonlytak, aby przypadkowo nie blokować oryginału (OTOH, nie powinno to stanowić poważnego problemu, ponieważ plik jest pod kontrolą wersji, prawda? ). Oczywiście pomaga mieć odwrotne polecenie:
:%! patch -o - "%"
To przekształca twój plik różnicowy z powrotem w zmodyfikowany plik.