Risposte:
È possibile farlo senza un plugin usando il w
comando, quindi il contenuto del buffer può essere usato in un comando shell:
:w !diff -au "%" - > changes.patch
( %
viene sostituito con il percorso del file in fase di modifica, -
legge il buffer dallo stdin)
diff -u "%" -
poiché diff
capisce un trattino come significato letto da stdin
È inoltre possibile filtrare il buffer tramite diff
la %!
sintassi:
:%! diff -au "%" -
Questo riempirà il buffer con il diff, anziché scriverlo sul disco; potresti voler impostare in readonly
modo da non ostruire accidentalmente l'originale (OTOH, questo non dovrebbe essere un problema serio perché hai il file sotto il controllo della versione, giusto? ). Certo, aiuta ad avere il comando inverso:
:%! patch -o - "%"
Ciò trasforma il tuo differenziale nel file modificato.