Prenez le diff de deux fenêtres ouvertes verticales dans Vim


103

J'ai deux fichiers ouverts. Ils sont ouverts en mode vertical, à côté du suivant. Puis-je comparer instantanément ces deux fichiers sans quitter ou fermer Vim?

Réponses:


154

Pour commencer à différer sur toutes les fenêtres visibles:

:windo diffthis

qui s'exécute :diffthissur chaque fenêtre.

Pour mettre fin au mode diff:

:diffoff!

(Les !marques diffoffs'appliquent à toutes les fenêtres de l'onglet actuel - ce serait bien d' diffthisavoir la même fonctionnalité, mais ce n'est pas le cas.)


La :windocommande le rend encore meilleur. Merci. Je vais le cartographier pour le rendre plus facile.
Fatih Arslan

1
C'est une bonne réponse, mais notez que la fenêtre de minibufexplorer doit être fermée avant cette opération, si elle est ouverte. Sinon, diff affiche des résultats incorrects.
baldrs

On peut utiliser un alias :windo difft[this]. Réf::help diff
DmitrySandalov

@FatihArslan,: windo diffthis ne fait rien dans mon cas, mais laisse simplement à gauche la colonne grise à côté des numéros de ligne. J'ai deux fichiers Vim différents ouverts.
earik87

22

dans chacune des fenêtres que vous souhaitez différencier, tapez:

:diffthis

Si vous souhaitez différencier toutes les fenêtres ouvertes, vous pouvez faire:

:windo diffthis

( windoappliquera la commande à toutes les fenêtres ouvertes)


7

Suite aux réponses précédentes,

  • :windo difft(abréviation de diffthis) lancera le mode diff dans toutes les fenêtres ouvertes.
  • :windo diffo(abréviation de diffoff) arrêtera le mode diff dans toutes les fenêtres ouvertes.

J'ai les mappages suivants dans mon vimrcpour faciliter les choses:

command! Difft windo diffthis
command! Diffo windo diffoff

3

Suite aux réponses précédentes, j'ai adapté le mappage fourni par @cxw Le mappage suivant ferme automatiquement NERDTree et diffère les fenêtres ouvertes. Peu importe si NERDTree est proche, il fonctionne de la même manière. Je fais ça assez souvent donc ça m'a fait gagner du temps.

command! Difft NERDTreeClose | windo diffthis
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.