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.