Vim - Diff

Semblable à la commande UNIX diff, nous pouvons utiliser Vim pour afficher les différences d'une bien meilleure manière. Il montrera diff de manière colorée. Dans ce chapitre, nous aborderons les éléments suivants -

  • Afficher les différences entre les fichiers
  • Activer et désactiver le mode diff
  • Navigation en mode diff
  • Application des modifications à partir de la fenêtre de comparaison

Montrer la différence

Pour afficher les différences entre les fichiers, exécutez la commande ci-dessous -

$ vimdiff <file> <file> 
OR 
$ vim –d <file> <file>

Par exemple, la commande ci-dessous montre les différences -

Dans l'image ci-dessus, le texte surligné en couleur magenta est courant. Le texte restant est surligné en rouge, ce qui indique qu'il existe des différences après le texte commun.

Activer et désactiver le mode diff

Si vous êtes déjà dans vim et que vous souhaitez effectuer une action de comparaison, utilisez l'une des commandes suivantes -

diffsplit

Utilisez la commande ci-dessous pour effectuer une division horizontale -

:diffsplit filename

Les images ci-dessus montrent que nous comparons deux fichiers, à savoir message-1.txt et message-2.txt.

Diffsplit vertical

Pour effectuer une division verticale, utilisez la commande suivante -

:vert diffsplit <filename>

Il ouvre la fenêtre suivante -

Les images ci-dessus montrent que nous comparons deux fichiers, à savoir message-1.txt et message-2.txt.

Navigation en mode diff

La navigation en mode diff est un peu différente. Par exemple, lorsque vous faites défiler le texte d'une fenêtre, le texte d'une fenêtre adjacente défile également. Cela s'appelle scrollbind. Pour activer cette utilisation -

:set scrollbind

Pour désactiver cette utilisation -

:set noscrollbind

Si vous modifiez le fichier dans ce mode, utilisez la commande suivante pour mettre à jour diff -

:diffupdate

Basculer entre la fenêtre de diff

Pour basculer entre les fenêtres de comparaison, exécutez la commande suivante -

Ctrl + w Ctrl + w

Veuillez noter que nous devons appuyer 2 fois sur Ctrl + w.

Passer à la modification précédente

Dans la fenêtre de diff, exécutez la commande suivante pour passer à la modification précédente -

[c

Passer au changement suivant

Dans la fenêtre de diff, exécutez la commande suivante pour passer au changement suivant -

]c

Appliquer les modifications à partir de la fenêtre de comparaison

Application de la modification dans les fenêtres de différences actuelles

Pour appliquer le changement de la fenêtre de différence adjacente aux fenêtres de différence actuelles, exécutez -

:diffget

Par exemple, si vous êtes dans la fenêtre de gauche et que vous souhaitez modifier la fenêtre de droite vers la fenêtre actuelle, vous exécuterez la commande ci-dessus.

Appliquer le changement du volet actuel à un autre

Pour appliquer le changement de la fenêtre de diff actuelle à la fenêtre de diff adjacente, exécutez -

:diffput

Par exemple, si vous êtes dans la fenêtre de gauche et que vous souhaitez appliquer le changement de la fenêtre actuelle à la fenêtre de droite, vous exécuterez la commande ci-dessus.