J'ai deux fichiers ouverts. Ils sont ouverts en mode vertical, à côté de. Puis-je diffuser instantanément ces deux fichiers sans quitter ou fermer Vim?
Pour commencer la diffing sur toutes les fenêtres visibles:
:windo diffthis
qui exécute :diffthis
sur chaque fenêtre.
Pour mettre fin au mode diff:
:diffoff!
(Le !
permet à diffoff
de s’appliquer à toutes les fenêtres de l’onglet actuel. Ce serait bien si diffthis
avait la même fonctionnalité, mais ce n’est pas le cas.)
dans chacune des fenêtres que vous voulez taper diff:
:diffthis
Si vous voulez afficher toutes les fenêtres ouvertes, vous pouvez faire:
:windo diffthis
(windo
appliquera la commande à toutes les fenêtres ouvertes)
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 ma vimrc
pour le rendre plus facile:
command! Difft windo diffthis
command! Diffo windo diffoff
Suite aux réponses précédentes, j’ai adapté le mappage fourni par @cxw. Le mappage suivant ferme automatiquement NERDTree et diff les fenêtres ouvertes. Peu importe si NERDTree est proche, cela fonctionne de la même manière. Je le fais assez souvent, cela m'a donc fait gagner un peu de temps.
command! Difft NERDTreeClose | windo diffthis