43 votes

utiliser vimdiff avec un fichier diff

Comment utiliser vimdiff pour afficher les différences décrites dans un fichier diff?

55voto

ephemient Points 87003

Au lieu d'utiliser /usr/bin/vimdiff de commande, essayez ceci:

$ vim fichier
:vertical diffpatch chemin/vers/diff

(:vert diffpa pour faire court.)
Ceci est équivalent à l'appel de vimdiff sur le fichier d'origine et par la suite le fichier patché, mais vim des appels patch sur un fichier temporaire pour vous.

Modifier

Si vous souhaitez vims'diff-mode pour être automatiquement inscrit, utilisez ceci:

$ vim fichier +'vert diffpa chemin/vers/diff'

+command demande vim d'exécuter la commande"". (+123 sauts à la ligne 123, +/abc sauts pour le premier match du "abc", tout est documenté.)

Quant à Ken requête: si le fichier diff comprend un beau appliquer à d'autres fichiers que le fichier que vous êtes en train d'éditer, pas de soucis; vim des appels à l' patch exécutable-dessous, qui vous demandera l'emplacement de ces mystérieusement disparu des fichiers, et vous pouvez dire patch de sauter un de ces mecs.

3voto

Jeremy Cantrell Points 7858

Venant de l'autre sens. J'ai écrit un plugin Vim qui montre les modifications apportées à un fichier depuis le dernier enregistrement, au format vimdiff ou au format diff unifié.

Obtenez-le ici: diffchanges.vim

2voto

Ken Points 23619

Faites une copie du fichier original, appliquez le diff puis

 vimdiff original_file patched_file
 

Vous pouvez également consulter les scripts de vim.org qui ont été écrits pour traiter la sortie svn diff. Si vous générez votre diff à partir d'un système de contrôle de version, consultez le plug-in d'intégration vcscommand.vim: CVS / SVN / SVK / git .

1voto

Adam Monsen Points 2178

Souhaitez-vous en dire plus au sujet de pourquoi vous voulez utiliser vimdiff pour cela?

Par exemple, voulez-vous de les visualiser par différences de caractère dans un (unifiée) fichier diff?. Si oui, quelqu'un a répondu à ma question sur même avec une suggestion tout simplement de l'incendie jusqu'emacs sur le diff et frapper ALT-n pour faire défiler les beaux mecs, bien soulignant par mot ou par des caractères de changements en cours de route (similaire à vimdiff). Il fonctionne bien, mais c'est une déception pour le feu jusqu'à emacs juste pour ce faire. Je sais seulement assez d'emacs pour faire cela, alors la sortie sans curage le patch. :)

De toute façon, emacs réponse m'a donné quelques idées. Je suis sûr que Vim peut être cajolé en offrant une meilleure mise en évidence pour diff fichiers, peut-être quelque chose de plus comme ediff. J'ai regardé dans cette pendant un certain temps, et quelqu'un sur le vim de la liste des utilisateurs ont eu l'excellente suggestion pour intégrer google-diff-match-patch. Le Python interface pourrait être utilisé à partir d'un Python Vim ftplugin, par exemple.

Désolé à ce sujet à l'aide d'une "réponse" pour répondre quand cela peut ne pas être une grande réponse, le formatage "ajouter un commentaire" était trop limité pour ce que je voulais dire.

Pour la postérité, voici une référence à une autre question (qui a déjà des liens ici).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X