web-dev-qa-db-fra.com

Comparaison de deux fichiers dans Vim

Est-il possible de visualiser deux fichiers côte à côte dans Vim? Si oui, comment puis-je configurer mon éditeur pour ce faire, et existe-t-il un moyen de diff entre les deux fichiers dans Vim?

Je connais le :next et :prev commandes, mais ce n'est pas ce que je recherche. Ce serait vraiment bien de voir les deux fichiers en tandem.

65
Zaid

Ouvrez la vue côte à côte:

Ctrl+w v

Changez entre eux:

Ctrl+w h or l

Récupérez la commande vimdiff, qui fait partie du package vim, si vous voulez une vue semblable à un diff:

vimdiff file1.txt file2.txt
46
maxschlepzig

Vous pouvez également ouvrir vim en mode écran partagé, avec le -O option: -

vim -O file1 [file2 ...]

Pour activer ensuite le mode diff, vous devez exécuter le :diffthis commande dans chaque volet.

Un autre scénario de cas d'utilisation est que si vous avez déjà ouvert un fichier dans vim et que vous souhaitez l'ouvrir et le comparer à un autre. Ensuite, vous pouvez utiliser les commandes vim suivantes: -

:vs otherfile (open otherfile in vertical split screen)
:diffthis (turn on diff mode in original file)
Ctrl+w l  (swap to newly opened file)
:diffthis (turn on diff mode in opened file)

Vous pouvez ensuite désactiver le mode diff dans chaque volet avec la commande vim :diffoff.

ÉDITER
Et l'autre standard qui n'a pas été mentionné: -

vim -d file1 [file2 ...]

Cela revient à appeler directement vimdiff.

44
Alex Leach

Vous pouvez également utiliser la commande vimdiff.

Exemple:

vimdiff file1.txt file2.txt
9
Ákos Kovács

Ou ouvrez simplement le premier fichier dans VIM, puis :vert diffsplit file2 :vert permet de diviser l'écran verticalement.

diffsplit fait une différence, et divise les fichiers et les défile les verrouille.

4
Dustin