Existe-t-il un moyen d'enregistrer les modifications que j'ai apportées à mon tampon vim en tant que fichier de correctif pour le fichier d'origine, sans l'enregistrer en tant que fichier séparé et en utilisant diff?
Existe-t-il un moyen d'enregistrer les modifications que j'ai apportées à mon tampon vim en tant que fichier de correctif pour le fichier d'origine, sans l'enregistrer en tant que fichier séparé et en utilisant diff?
Réponses:
Il est possible de le faire sans plugin en utilisant la w
commande, donc le contenu du tampon peut être utilisé dans une commande shell:
:w !diff -au "%" - > changes.patch
( %
est remplacé par le chemin du fichier en cours d'édition, -
lit le tampon depuis stdin)
diff -u "%" -
car diff
comprend un tiret comme signifiant lu à partir de stdin
Vous pouvez également filtrer le tampon via diff
aide de la %!
syntaxe:
:%! diff -au "%" -
Cela remplira le tampon avec le diff, plutôt que de l'écrire sur le disque; vous voudrez peut-être définir readonly
pour ne pas encombrer l'original par accident (OTOH, cela ne devrait pas être un problème grave car vous avez le fichier sous contrôle de version, non? ). Bien sûr, cela aide d'avoir la commande inverse:
:%! patch -o - "%"
Cela transforme votre diff dans le fichier modifié.