Je dois diff deux fichiers (pas deux versions du même fichier, ils sont cependant suivis par git, mais ce n'est pas lié) et je voudrais une sortie colorée, comment puis-je y parvenir?
$ diff file_1 file_2
1,9d0
< <script ... >
< // more code
< </script>
$
Le code ci-dessus me montre la différence entre ces fichiers, mais sans aucune couleur. Pour les diffs plus longs, c'est difficile à lire.
Sinon, y a-t-il un moyen pour que git (avec lequel j'ai une sortie couleur Nice) diffe deux fichiers différents (ne modifie pas un fichier)?
OSX (10.7.5)
Perl a une couche terne colordiff wrapper pour diff, mais je préfère grc (coloriseur générique) .
Avec grc (colorizer générique) , vous pouvez écrire vos propres wrappers pour différents types de commandes ou d’entrées (si vous aimez ce genre de chose).
Ci-dessous, grc
est exécuté sur /var/log/syslog
(dans la configuration, ce fichier est défini sur un certain jeu de couleurs), où il met en surbrillance les processus, les pids, les IP et les connexions.
Bien sûr, il est recommandé d'utiliser un alias pour ne pas oublier:
alias diff="/usr/bin/grc /usr/bin/diff"
Si vous avez git, vous voudrez peut-être simplement l’utiliser, ce qui permet un nom diff
ing très robuste, même d’une branche à l’autre.
git diff master:cogs/foo.txt branch:widgets/bar.txt
Vous n’êtes pas obligé d’utiliser git diff
dans un référentiel, vous pouvez l’utiliser uniquement pour des fichiers normaux .
git diff old.txt new.txt
Comme toujours, vous pouvez alias diff
pour faciliter l’utilisation.
alias diff="git diff"
Lorsque je diffère des fichiers, j'utilise presque toujours vim:
vim -d file_1 file_2
Non seulement il utilise des couleurs, mais il aligne les fichiers pour faciliter la visualisation des lignes ajoutées/supprimées.
Vous pouvez obtenir git to diff deux fichiers différents :
git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt
Pour compléter la réponse approuvée: grc fonctionne très bien pour cela. Il est installable avec infusion et colorise un certain nombre de commandes terminales prêtes à l'emploi, le diff étant l'une d'entre elles. Alors...
brew install grc
... installe grc sur votre système. Ensuite, vous devez configurer vos alias, l’avertissement de brassage fournit une solution. Ajoutez simplement la ligne suivante à votre .bashrc
ou similaire.
source "`brew --prefix`/etc/grc.bashrc"
Cela ajoutera actuellement les alias suivants:
alias colourify="$GRC -es --colour=auto"
alias configure='colourify ./configure'
alias diff='colourify diff'
alias make='colourify make'
alias gcc='colourify gcc'
alias g++='colourify g++'
alias as='colourify as'
alias gas='colourify gas'
alias ld='colourify ld'
alias netstat='colourify netstat'
alias ping='colourify ping'
alias traceroute='colourify /usr/sbin/traceroute'
alias head='colourify head'
alias tail='colourify tail'
alias Dig='colourify Dig'
alias mount='colourify mount'
alias ps='colourify ps'
alias mtr='colourify mtr'
alias df='colourify df'